Rok*_*ner 2 python django django-admin
编辑对象时如何过滤 django 管理页面中下拉字段的内容?例子:
class Question(models.Model):
creator = models.ForeignKey(User)
body = models.CharField(max_length=200)
category = models.ForeignKey(Category)
class Category(models.Model):
name = models.CharField(max_length=200)
creator = models.ForeignKey(User)
class QuestionAdmin(TeacherModelAdmin):
fieldsets = [
(None, {'fields': ['body', 'category']}),
]
#Filter by request.user == creator ?
Run Code Online (Sandbox Code Playgroud)
您可以覆盖formfield_for_foreignkey管理中的方法
class QuestionAdmin(TeacherModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "category":
kwargs["queryset"] = Category.objects.filter(creater=request.user)
return super(QuestionAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |