DjangoはMySQLデータベースのプロセスを使用しています

DjangoはMySQLデータベースのプロセスを使用しています

  1. 手動でのMySQLデータベースを作成します

  2. 設定データベース

    ENGINE   MySQL
    NAME 数据库的名字
    HOST    ip 
    PORT    3306
    USER    用户名
    PASSWORD  密码
  3. 設定と同じディレクトリに__init__.py書き込みコード:

    import pymysql
    pymysql.install_as_MySQLdb()
  4. ライトモデル:

    form django.db import models 
    class Publisher(models.Model):
     name = models.CharField(max_length=32)
    
  5. 移行コマンドを実行するには

    python  manage.py  makemigrations  # 检查已经注册的APP下面的models.py的变更情况
    python manage.py migrate   # 执行迁移 
  6. オブジェクトリレーショナルマッピング

    地図:

    クラス_>テーブル

    オブジェクト_>行(レコード)

    プロパティ_>フィールド

    ORMは行うことができます。

    1. データを変更します
    2. テーブルの上に変更を行います

    ORM操作

    お問い合わせ

    from app01 import models 
    
    models.Publisher.objects.all()  #查询所有的数据  QuerySet  对象列表 
    models.Publisher.objects.get(name='xxx') 
                     #查询一条数据  只能查有且唯一的数据
    models.Publisher.objects.filter(name='xxx') 
                     #查询所有满足条件的数据 对象列表 

    新しいです

    obj = models.Publisher.objects.create(name='xxxx')
    
    obj = models.Publisher(name='xxxx')
    obj.save()  # 保存到数据库

    [削除]

    models.Publisher.objects.filter(pk=pk).delete()   # 批量删除
    models.Publisher.objects.get(pk=pk).delete() # 单条数据的删除

    更新

    models.Publisher.objects.filter(pk=pk).update(name='xx')  # 批量更新
    
    obj = models.Publisher.objects.get(pk=pk)
    obj.name = 'xxxx'
    obj.save()  # 保存到数据库

外部キー

多くの関係

class Book(models.Model):
    name = models.CharField(max_length=32)
    pub = models.ForeignKey('Publisher', on_delete=models.CASCADE)
  
 
    """
    on_delete 在2.0版本之后是必填的
    on_delete= 
        models.CASCADE  级联删除
        PROTECT   保护
        SET(1)    
        SET_DEFAULT  设置为默认值设置为某一个值
        SET_NULL   设置为空
        DO_NOTHING 什么都不变
    """
    

お問い合わせ

all_books = models.Book.objects.all()
    
for book in all_books:
    print(book)
    print(book.id)
    print(book.pk)
    print(book.name)
    print(book.pub)  # 所关联的出版社对象        对象.外键
    print(book.pub_id)  # 所关联的出版社对象的id   对象.外键_id

新しいです

models.Book.objects.create(name=book_name,
                           pub=models.Publisher.objects.get(pk=pub_id))
obj = models.Book.objects.create(name=book_name, pub_id=pub_id)

編集します

book_obj.name = book_name
book_obj.pub_id = pub_id
# book_obj.pub  =  出版社的对象
book_obj.save()
models.Book.objects.filter(pk=pk).update(name=book_name,pub_id=pub_id)

おすすめ

転載: www.cnblogs.com/-xct/p/12051321.html