Django管理员,如何限制用户仅在其国家/地区内插入记录?

我有这个模特

  title= country = models.CharField(max_length=25)
  country = models.ForeignKey(Country)
  city = models.ForeignKey(City)
  user = country = models.ForeignKey(User)

使用默认Django管理员中的(Add Case +)页面,是否可以根据当前用户自定义国家和城市下拉列表选项?
例如:如果当前登录的用户来自美国,则国家/地区下拉列表将仅显示一个选项(美国),而城市下拉列表仅显示美国的城市,则该用户只能添加与他/她的国家有关的案件。

bb15988 回答:Django管理员,如何限制用户仅在其国家/地区内插入记录?

要回答您的问题:是的,当然有可能-如果,您当然也知道您的用户属于哪个国家。

您必须

1 / exclude the country field from the form

2 /使用formfield_for_foreignkey()过滤city字段的查询集

3 /,并在ModelAdmin的save_model() method

中手动填充模型的字段

请注意,仅阅读modeladmin的文档就可以回答您的问题-有一些非常相似的用例示例。

本文链接:https://www.f2er.com/2447283.html

大家都在问