西游之路——python全栈——Modles补充

一、多对多时自己创建第三张表

1 class UserToTag(models.Model):
2     # nid = models.AutoField(primary_key=True)
3     u = models.ForeignKey(to='User')
4     t = models.ForeignKey(to='Tag')
5     
6     class Meta:
7         unique_together=[
8             ('u','t'),
9         ]

二、重点及归纳

  1、多对多

      --第三张表:自动创建、手动创建、手动+自动

  2、自关联:互粉

1 class User(models.Model):
2     username = models.CharField(max_length=32,db_index=True)
3     # 'User'可换成'self',创建外键跟多对多关联时建议都写上 related_name
4     d = models.ManyToManyField('User',related_name='b')
5     def __str__(self):
6         return self.username

  重点:

    a、索引

    b、一对多

    c、一对一和一对多是什么关系?     unique=True

    d、多对多

          --  第三张表:自动创建、手动创建、手动+自动

          --  ###  自关联:互粉

猜你喜欢

转载自www.cnblogs.com/Lujun1028/p/9614514.html