Django 의 다 중 조회 와 조작 방법 에 대한 상세 한 설명

2360 단어 Django다 대 다
다 중 표 간 관계 표

models.py 파일 코드

from django.db import models

# Create your models here.

class Publisher(models.Model):
  id = models.AutoField(primary_key=True)
  name = models.CharField(max_length=64,null=False,unique=True)

  def __str__(self):
    return "publisher_name:{}".format(self.name)

class Book(models.Model):
  id = models.AutoField(primary_key=True)
  title = models.CharField(max_length=128,null=False)
  publisher = models.ForeignKey(to=Publisher,related_name="books")

  def __str__(self):
    return "book_title:{}".format(self.title)

class Author(models.Model):
  id = models.AutoField(primary_key=True)
  name = models.CharField(max_length=16,null=False)
  book = models.ManyToManyField(to="Book")

  def __str__(self):
    return "author_name:{}".format(self.name)

조회 및 조작 방법 코드

import os

if __name__ == '__main__':
  #  Django       
  os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings")
  #  Django,   Django  
  import django
  django.setup()

  from ormtest import models

  #     
  #    (  ),         
  author_obj = models.Author.objects.get(name="  ")
  print(author_obj)
  author_obj_books = author_obj.book.all()
  print(author_obj_books)

  #1.create(            )
  #  : book       ,         
  #  :            ,          
  author_obj.book.create(title="zabbix      ",publisher_id=3)

  #2.add(     ,     (      ))
  book_obj = models.Book.objects.get(title="      ")
  author_obj.book.add(book_obj)

  #3.remove(     ,     《      》)
  #1、     ,     <      >
  book_obj = models.Book.objects.get(title="      ")
  author_obj.book.remove(book_obj)
  #     ,     ,  id 4
  author_obj.book.remove(4)

  #4.clear(           ,      )
  author_obj.book.clear()

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기