gpt4 book ai didi

django - 缩小 Django 表单中的选择范围

转载 作者:行者123 更新时间:2023-12-02 06:25:42 24 4
gpt4 key购买 nike

我有一个像这样的模型:

CAMPAIGN_TYPES = (
('email','Email'),
('display','Display'),
('search','Search'),
)

class Campaign(models.Model):
name = models.CharField(max_length=255)
type = models.CharField(max_length=30,choices=CAMPAIGN_TYPES,default='display')

还有一个表格:

class CampaignForm(ModelForm):
class Meta:
model = Campaign

有没有办法限制“类型”字段的可用选项?我知道对于单值字段我可以这样做: CampaignForm(initial={'name':'Default Name'}) 但我找不到任何方法来为选择集执行此操作。

最佳答案

这就是我限制显示选项的方法:

在 forms.py 中为表单添加一个 init 方法

class TaskForm(forms.ModelForm):
....

def __init__(self, user, *args, **kwargs):
'''
limit the choice of owner to the currently logged in users hats
'''

super(TaskForm, self).__init__(*args, **kwargs)

# get different list of choices here
choices = Who.objects.filter(owner=user).values_list('id','name')
self.fields["owner"].choices = choices

关于django - 缩小 Django 表单中的选择范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com