A-muitos design da tabela, ManyToManyField campos associados.
Relações Livro e Autor: um livro pode ter vários autores, um autor pode publicar mais do que um livro, é muitos-mode
1.1 Código models.py:
classe Autor (models.Model): "" " 作者""" nome = models.CharField (max_length = 20, verbose_name = " 作者" ) correio = models.CharField (max_length = 20, verbose_name = " 邮箱" ) de endereços = modelos .CharField (max_length = 50, verbose_name = " 籍贯" ) móvel = models.CharField (max_length = 11, verbose_name = " 手机号" ) class Meta: verbose_name_plural = " 作者" def __str__ (self): voltar a self.name classe Book (models.Model): '' ' informações do livro ' '' BOOK_NAME = models.CharField (MAX_LENGTH = 100, o verbose_name = " título " ) # muitos- auth = models.ManyToManyField (Autor, verbose_name = " autor " ) class Meta: verbose_name_plural = " livros " DEF __str__ (self): return self.book_name
1.2 executar python makemigrations manage.py voto e python manage.py migrar
1.3 Registro de admin.py
classe ControlAuthor (admin.ModelAdmin): list_display = [ ' nome ' , ' e-mail ' , ' endereço ' , ' mobile ' ] classe ControlBook (admin.ModelAdmin): list_display = [ ' BOOK_NAME ' , ' book_auth ' ]
# definir um método atravessando livro auth, e depois retorna com uma lista DEF book_auth (self, obj): retorno [a.name para um em obj.auth.all ()] admin.site.register (models.Author, ControlAuthor) admin.site.register (models.Book, ControlBook)
1,4 navegador para acessar os resultados:
Após a conclusão do livro, o banco de dados irá gerar uma relação mesa-muitos