Django 管理表单 - 如何动态更改选择选项?
我有 2 个模型:
class City(models.Model):
name = models.CharField(max_length=50)
slug = models.SlugField(max_length=50)
class CityNews(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
add_date = models.DateTimeField(auto_now=False, auto_now_add=True, editable=False)
content = models.TextField()
city = models.ForeignKey(City)
我的每个用户都已连接到 1 个城市。我希望他只向他所连接的城市添加新闻。但超级管理员必须有能力向每个城市添加新闻。 如何更改 CityNews 中的“城市”字段,使其仅显示用户所连接的城市?我可以编写自定义 ModelForm,但如何检查那里的 user_city 并更改其查询集?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种明显的方法是利用 formfield_for_foreignkey() 方法。
因此,如果您的 models.py 如下所示:
那么您的 admin.py 可能如下所示:
One obvious way of doing this is to utilize the formfield_for_foreignkey() method on the ModelAdmin.
So if your models.py looks like this:
Then your admin.py could look like this: