Python 互连外键
我有一个任务:Python 互连外键,python,django,Python,Django,我有一个任务: 创建一个基本上包含“学生”和“组”的数据库模型 “学生”包含:“姓名”、“学生身份证”、“组”(必须是组的ForeigKey!) “组”包含:“组名”和“队长”(必须是学生的外键!) 现在我遇到了一次碰撞,这是不可能的。所以我是这样做的: class Group(models.Model): group_name = models.CharField(max_length=50) class Student(models.Model): name
- 创建一个基本上包含“学生”和“组”的数据库模型
- “学生”包含:“姓名”、“学生身份证”、“组”(必须是组的ForeigKey!)
- “组”包含:“组名”和“队长”(必须是学生的外键!)
class Group(models.Model):
group_name = models.CharField(max_length=50)
class Student(models.Model):
name = models.CharField(max_length=50)
birth_date = models.DateField()
std_ID_card = models.IntegerField()
group = models.ForeignKey(Group)
class Captain(models.Model):
student = models.OneToOneField(Student)
group = models.OneToOneField(Group)
我有更优雅、更正确的方法吗?为什么原始结构不可能
class Group(models.Model):
group_name = models.CharField(max_length=50)
captain = models.ForeignKey('Student')
class Student(models.Model):
name = models.CharField(max_length=50)
birth_date = models.DateField()
std_ID_card = models.IntegerField()
group = models.ForeignKey(Group)
为什么原来的结构是不可能的
class Group(models.Model):
group_name = models.CharField(max_length=50)
captain = models.ForeignKey('Student')
class Student(models.Model):
name = models.CharField(max_length=50)
birth_date = models.DateField()
std_ID_card = models.IntegerField()
group = models.ForeignKey(Group)
尝试添加一个:
尝试添加一个:
字段“captain”的反向查询名称与字段“Student.group”冲突字段“captain”的反向查询名称与字段“Student.group”冲突