【发布时间】:2012-04-28 01:52:46
【问题描述】:
我有这些模型:
class Entity(models.Model):
name=models.CharField(max_length=100)
class Theme(models.Model):
name=models.CharField(max_length=100)
entity=models.OneToOneField(Entity)
class Company(models.Model):
name=models.CharField(max_length=100)
theme=models.OneToOneField(Theme,null=True,blank=True)
我想在管理员中添加Company 时过滤theme 字段,如下所示:
class CompanyAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(CompanyAdmin, self).queryset(request)
qs.theme.queryset = Theme.objects.filter(name__iexact='company')
return qs
admin.site.register(Company, CompanyAdmin)
我尝试了很多东西,但没有任何效果!我该怎么做?
【问题讨论】:
-
查看this question的答案
-
formfield_for_foreignkey-example in the documentation 准确描述了如何执行此操作(在ModelAdmin方面)。扩展formfield_for_foreignkey()也适用于OneToOneField。