zoukankan      html  css  js  c++  java
  • 手动创建第三张表,建立关联关系

    			class Book(models.Model):
    				# 默认会创建id
    				name = models.CharField(max_length=32)
    				# 中介模型,手动指定第三张中间表是Book2Author
    				authors=models.ManyToManyField(to='Author',through='Book2Author',through_fields=
                                    ('book','author'))
    			class Author(models.Model):
    				name = models.CharField(max_length=32)
    				def __str__(self):
    					return self.name
    			class Book2Author(models.Model):
    				id = models.AutoField(primary_key=True)
    				book=models.ForeignKey(to='Book',to_field='id')
    				author=models.ForeignKey(to='Author',to_field='id')
    
    

    -through:来指定我的第三张表是哪个

    -through_fields:('book','author'),第一个值是:从中间表找到设置关联字段的表,通过哪个字段,第一个位置就写它

    -终极总结:防止混了:关联字段就是表名小写,第一个值:就是当前表的表名小写
    -查询,新增,删除,都很方便
    -第三张表,可以添加别的字段

  • 相关阅读:
    OpenCV --- 2.4.8组件结构全解析
    综合博客
    设计模式之适配器模式
    android 面试题
    ANDROID 中设计模式的采用--结构型模式
    技术前线
    八大排序算法
    android 面试题
    Android控件——ViewPager
    Bugly
  • 原文地址:https://www.cnblogs.com/fxc-520520/p/9983955.html
Copyright © 2011-2022 走看看