我有4个简单的模型:
model.py
class State(models.Model):
name = models.CharField(max_length=20)
class County(models.Model):
name = models.CharField(max_length=30)
state = models.ForeignKey(State, on_delete=models.CASCADE)
class District(models.Model):
name = models.CharField(max_length=30,null=True, blank=True)
county = models.ForeignKey(County,on_delete=models.CASCADE, null=True, blank=True)
class Teacher(model.Model):
name = models.CharField(max_length=20)
state = models.ForeignKey(State, on_delete=models.CASCADE)
county = models.ForeignKey(County,on_delete=models.CASCADE, null=True, blank=True)
district = models.ForeignKey(District,on_delete=models.CASCADE, null=True, blank=True)
admin.py:
@admin.register(Teacher)
class TeacherAdmin(admin.ModelAdmin):
list_display = ['name','state','county','district']
我的问题在Teacher
和county
字段的district
管理页面中,所有县和县在下拉选择框中显示。我想要的只是教师状态显示的县和地区。谢谢
答案 0 :(得分:0)
选择这些字段的默认值可以使您在管理页面中更改该字段。无论如何,如果您只想拥有该值,则可以在下面的代码中使用。
将以下代码添加到models.py
文件中的模型类中:
def state_value(self):
return ("%s" % (self.state.name))
您的admin.py
文件如下:
@admin.register(Teacher)
class TeacherAdmin(admin.ModelAdmin):
list_display = ['name','state_value']
您也可以对其他字段重复此过程。