这个问题与其他人相似,但实际上是不同的!因此,我有3个模型,例如(为了缩短代码,我删除了一些不必要的东西):
class Category(models.Model):
category_title = models.CharField(max_length=200)
category_content = models.TextField()
category_slug = models.CharField(max_length=200)
def __str__(self):
return self.category_title
class Classes(models.Model):
classes_title = models.CharField(max_length=200)
classes_content = models.TextField()
classes_category = models.ForeignKey(Category, on_delete=models.SET_DEFAULT)
def __str__(self):
return self.classes_title
class Subjects(models.Model):
subject_title = models.CharField(max_length=200)
subject_content = models.TextField()
subject_class = models.ForeignKey(Classes, on_delete=models.SET_DEFAULT)
def __str__(self):
return self.subject_title
因此,让我举一个例子。我可以有2个类别,在这些类别中,我可以有“同名”类别。让我们考虑一下数学是这两个类别的一门课。当我想向数学添加新主题时,在管理页面中会看到2个相同的命名数学。所以我想知道哪个属于管理页面中的哪个类别。因此,我可以将我的主题添加到正确的课程中。
class SubjectAdmin(admin.ModelAdmin):
fields = ('subject_title', 'subject_content', 'subject_class',)
因此,在这张图片(主题= Konular)中,我要添加一个新主题。我将拥有Class的外键。但是,对于来自不同类别的类,我使用相同的名称。所以在这个下拉菜单中,我怎么知道哪个类别属于哪个类别?
如果我对您的理解正确,那应该可以。
class Classes(models.Model):
classes_title = models.CharField(max_length=200)
classes_content = models.TextField()
classes_category = models.ForeignKey(Category, on_delete=models.SET_DEFAULT)
def __str__(self):
return self.title
class Subjects(models.Model):
subject_title = models.CharField(max_length=200)
subject_content = models.TextField()
subject_class = models.ForeignKey(Classes, on_delete=models.SET_DEFAULT)
def __str__(self):
return f"{self.subject_title} - {str(self.subject_class)}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句