dongxixi
    MTV与MVC
        MTV模型(django):
            M:模型层(models.py)
            T:templates
            V:views
        MVC模型:
            M:模型层(models.py)
            V:视图层(views.py)
            C:控制器(Controller) urls.py
        本质:django的MTV也是MVC
        
    
    多对多表三种创建方式
    1.第一种 django orm自动帮我们创建
        class Book(models.Model):
        name = models.CharField(max_length=32)
        authors = models.ManyToManyField(to=\'Author\')


        class Author(models.Model):
            name = models.CharField(max_length=32)
    
    2.第二种纯手动创建第三张表
    
        class Book(models.Model):
            name = models.CharField(max_length=32)

        class Author(models.Model):
            name = models.CharField(max_length=32)

        class Book2Author(models.Model):
            book = models.ForeignKey(to=\'Book\')
            author = models.ForeignKey(to=\'Author\')
            info = models.CharField(max_length=32)
    
    3.第三种半自动创建第三张表(可扩展性高,并且能够符合orm查询)
        class Book(models.Model):
            name = models.CharField(max_length=32)
            # 第三种创建表的方式
        #想用django的一些方法,于是告诉django这两张表有多对多关系
            authors = models.ManyToManyField(to=\'Author\',through=\'Book2Author\',through_fields=(\'book\',\'author\'))   

        class Author(models.Model):
            name = models.CharField(max_length=32)
            # book = models.ManyToManyField(to=\'Book\',through=\'Book2Author\',through_fields=(\'author\',\'book\'))


        class Book2Author(models.Model):
            book = models.ForeignKey(to=\'Book\')
            author = models.ForeignKey(to=\'Author\')
            info = models.CharField(max_length=32)
    # 第三种多对多关系不能使用多对多字段的增删改查方法 add(),set(),remove(),clear()

 

分类:

技术点:

相关文章:

  • 2022-01-01
  • 2022-01-01
  • 2022-12-23
  • 2021-06-07
  • 2021-04-30
  • 2022-01-01
  • 2022-12-23
猜你喜欢
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2021-11-19
  • 2022-01-01
  • 2022-01-01
相关资源
相似解决方案