一、多对多时自己创建第三张表
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、多对多
-- 第三张表:自动创建、手动创建、手动+自动
-- ### 自关联:互粉