【发布时间】:2022-01-09 11:25:13
【问题描述】:
我有以下模型示例:
class TestSet(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Class(models.Model):
name = models.CharField(max_length=50)
test_set_id = models.ForeignKey(TestSet)
def __str__(self):
return self.name
class Test(models.Model):
title = models.CharField(max_length=50)
test_set_id = models.ForeignKey(TestSet)
def __str__(self):
return self.title
class ClassTest(models.Model):
class_id = models.ForeignKey(Class)
test_id = models.ForeignKey(TestSet)
memo = models.CharField(max_length=250)
def __str__(self):
return self.memo
我想要做的是,当创建一个新的类或测试时,如果它们的 test_set_id 与数据库上的当前条目匹配,它也应该自动创建一个 ClassTest 条目。
例子:
- 假设我已经有三个 Test 对象,其中 test_set_id = 1
- 我创建了一个新的 Class 对象,其中 test_set_id = 1
- 创建新的 Class 对象后,程序还应在 ClassTest 模型中创建 3 个新条目,根据 test_set_id 字段的匹配将类连接到测试。
- 如果添加了一个新的 Test 对象,它应该也能正常工作。
【问题讨论】:
标签: python django database-design orm many-to-many