我有以下型号:
class Course(models.Model):
Name = CharField(max_length=32, unique=True,)
class Tutorial(models.Model):
Name = CharField(max_length=64, unique=True,)
Courses = ManyToManyField(Course,)
Index = PosSmallInt()
有许多Course
个,Course
每个Tutorial
都有Course
个,但有些Tutorial
个共享Tutorial
个。{/ p>
现在,每个Index
都应该在Course
内有一个唯一的Courses
。
我想我应该指出ManyToManyField
(Course
)不久前是常规ForeignKey
(Tutorial
),这意味着我有{{1}我在Meta
Tutorial
类unique_together = (('Course', 'Index'))
中有这一行:
Course
让Tutorial
在同一Index
内保持ManyToManyField
不同。
但现在它是Course
,这是不可能的。
示例:
我有以下Tutorial
s Tutorial
s:
(为了示例,请考虑“条件”和“循环”以使完全相同的信息。)
如何在具有不同Course
es的不同Index
中拥有相同的SetHeaderImage(openFileDialog1.FileName);
private static void SetHeaderImage(string filePath)
{
WindowsFormsApplication.Properties.Resources.add(filePath);
}
?
答案 0 :(得分:2)
尝试使用through
属性:
class Tutorial(models.Model):
Name = CharField(max_length=64, unique=True,)
Courses = ManyToManyField(Course, through='TutorialCourse')
class TutorialCourse(models.Model):
tutorial = models.ForeignKey(Tutorial, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
Index = PosSmallInt()
class Meta:
unique_together = (('tutorial', 'course', 'Index'))