【发布时间】:2016-05-19 13:29:15
【问题描述】:
我正在检查关联模型中字段的值是否等于 1,然后我填充 LabelAdmin 字段列表以在管理界面上显示字段 short_text1,但这似乎不是工作。我使用 get_object_or_404 的原因是因为 Assosiative 模型中有很多字段,我希望管理员只显示已检查为 true 的 fields 联想模型。
admin.py
from django.shortcuts import get_object_or_404
from django.contrib import admin
from .models import Master, Label, Assosiative, Contact, Project
from .forms import get_field_label
class LabelAdmin(admin.ModelAdmin):
#LabelAdminForm= get_field_label
#form = LabelAdminForm
l_asso = get_object_or_404(Assosiative, slug=slug)
fields_list = []
if l_asso.short_text1 == 1:
fields_list.append('short_text1')
if l_asso.short_text2 == 1:
fields_list.append('short_text2')
if l_asso.short_text3 == 1:
fields_list.append('short_text3')
if l_asso.short_text4 == 1:
fields_list.append('short_text4')
if l_asso.short_text5 == 1:
fields_list.append('short_text5')
fields = fields_list
prepopulated_fields = {'slug':['assosiative']}
class Meta:
model = Label
admin.site.register(Label, LabelAdmin)
models.py 关联模型
class Assosiative(models.Model):
form_name = models.CharField(max_length=100, unique=True)
form_description = models.CharField(max_length=200)
slug = models.SlugField(unique=True)
instructions = models.TextField(max_length=500, blank=True, null=True)
heading1 = models.TextField(max_length=500, blank=True, null=True)
short_text1 = models.BooleanField(default=False)
short_text2 = models.BooleanField(default=False)
short_text3 = models.BooleanField(default=False)
short_text4 = models.BooleanField(default=False)
short_text5 = models.BooleanField(default=False)
models.py 标签模型
class Label(models.Model):
assosiative = models.OneToOneField(Assosiative, unique=True)
slug = models.SlugField(unique=True)
short_text1 = models.CharField(max_length=150, blank=True, null=True)
short_text2 = models.CharField(max_length=150, blank=True, null=True)
short_text3 = models.CharField(max_length=150, blank=True, null=True)
short_text4 = models.CharField(max_length=150, blank=True, null=True)
short_text5 = models.CharField(max_length=150, blank=True, null=True)
【问题讨论】:
标签: django django-models django-forms django-admin django-views