[django] ORM自关联
表内自关联是指表内数据相关联的对象和表是相同字段,这样我们就直接用表内关联将外键关联设置成自身表的字段。同样表内关联也分一对多字段和多对多字段
例如:对于微博评论,每条评论都可能有子评论,但每条评的字段内容应该都是相同的,并且每条评论都只有一个父评论,这就满足了,一对多的情形。父评论为关联字段,可以对应多个子评论,这就是一对多的自关联。
自关联主要靠数据库中自关联表的第一列from 和 第二列to 定义主从。
class UserInfo(models.Model):
username = models.CharField(max_length=8)
password = models.CharField(max_length=8)
gender_choices = (
("男", 1),
("女", 2),
)
gender = models.IntegerField(choices=gender_choices)
m = models.ManyToManyField("UserInfo")
views
# 查第一列
# x = models.UserInfo.objects.filter(id=1).first()
# result = x.m.all()
# for u in result:
# print(u.username)
# 查第二列
x = models.UserInfo.objects.filter(id=4).first()
result = x.userinfo_set.all()
for u in result:
print(u.username)

浙公网安备 33010602011771号