zoukankan      html  css  js  c++  java
  • Djnago models 一对多、多对多

    一对多,在多的class 中创建 ForeignKey (外键)

    class Publisher(models.Model):
        name = models.CharField(max_length=32, verbose_name='出版社名称')
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = "name"
            verbose_name_plural = verbose_name
    
    
    class Book(models.Model):
        name = models.CharField(max_length=32, verbose_name='书名')
        pub = models.ForeignKey('Publisher', on_delete=models.CASCADE,related_name='books', related_query_name='book')

     多对多中,在哪个表中创建都可以

    from django.db import models
    
    
    class Publisher(models.Model):
        name = models.CharField(max_length=32, verbose_name='出版社名称')
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = "name"
            verbose_name_plural = verbose_name
    
    
    class Book(models.Model):
        name = models.CharField(max_length=32, verbose_name='书名')
        pub = models.ForeignKey('Publisher', on_delete=models.CASCADE,related_name='books', related_query_name='book')
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = 'name'
            verbose_name_plural = verbose_name
    
    
    class Author(models.Model):
        name = models.CharField(max_length=32, verbose_name='姓名')
        books = models.ManyToManyField('Book')
    
        
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = "name"
            verbose_name_plural = verbose_name

    作者:Star-Hitian,转载请注明原文链接:https://www.cnblogs.com/Star-Haitian/p/15118969.html

  • 相关阅读:
    04-Bootstrap的插件
    03-Bootstrap学习
    02-移动端单位介绍
    01 响应式页面-@media介绍,
    14-jQuery补充
    13-jQuery的ajax
    12-事件委托(事件代理)
    11-jQuery的事件绑定和解绑
    10-事件对象
    09-JS的事件流的概念(重点)
  • 原文地址:https://www.cnblogs.com/Star-Haitian/p/15118969.html
Copyright © 2011-2022 走看看