Django admin显示一个空字段而不是“ajax select widget”。
尝试了另一个项目 - 在两个m2m关系的模型中,完全相同的模型具有不同的名称。像一个领域的魅力,在另一个领域显示空白的地方。任何帮助或链接?
models.py
class Company(models.Model):
"""Companies - customers """
title = models.CharField('Nosaukums', blank=False, max_length=200)
is_costumer = models.BooleanField('Pasūtītājs', default=False)
is_subcontractor = models.BooleanField('Apakšuzņēmējs', default=False)
class Meta:
verbose_name = 'Uzņēmums'
verbose_name_plural = 'Uzņēmumi'
def __unicode__(self):
return self.title
class Project(models.Model):
"""Projects"""
number = models.IntegerField('Īsais numurs', blank=False, null=False)
title = models.CharField('Nosaukums', blank=False, max_length=250)
customers = models.ManyToManyField(Company, verbose_name='Pasūtītāji', blank=True, null=True)
is_active = models.BooleanField('Aktīvs', default=True)
notes = models.TextField('Piezīmes', blank=True)
class Meta:
verbose_name = 'Projekts'
verbose_name_plural = 'Projekti'
def costumer_list(self):
list = "pasūtītāji"
return list
def __unicode__(self):
return self.title
答案 0 :(得分:1)
根据您在上面发布的模型和管理文件的图片,您的filter_hoizontal
变量应该是filter_horizontal = ('customers',)
而不是filter_horizontal = ('costumers',)
换句话说,客户的拼写不同模型和管理文件。
答案 1 :(得分:0)
我的某些m2m字段不允许form_horizontal
。我发现这些特定领域唯一的共同点就是它们全部用于类别,在我的母语中,这是categorieën,它恰好强调了最后 e 。
请参阅下面的字段定义:
categories = models.ManyToManyField (
'FAQCategories',
verbose_name = 'Categorieën',
blank = True,
)
这里的问题是我没有告诉python我的字符串应该被视为Unicode。当我将verbose_name
更改为u'Categoriën'
时,它就有效了!
回想起来,这对我来说非常明显,但我希望这会对你或其他人有所帮助。正确定义这些字符串,吸取教训!