gpt4 book ai didi

python - 如何在 Django 中使用选项在字段中创建用户定义的 "Other"?

转载 作者:行者123 更新时间:2023-11-30 22:48:25 25 4
gpt4 key购买 nike

我正在 Django 中编写一个模型,我需要一些选择 - 但我想让用户选择“其他”,然后也输入他们自己的选择。在 Django 中如何做到这一点?

class Client(models.Model):
ENTITY_TYPE_CHOICES = (
('publicly_traded', 'Publicly Traded Company'),
('limited_liability', 'Limited Liability Company'),
('partnership', 'Partnership'),
('ngo', 'NGO'),
)
...
entity_type = models.CharField(choices=ENTITY_TYPE_CHOICES)

最佳答案

如果您有一个包含选项的字段,您可能不想添加不在指定选项中的值。

当我必须实现这样的东西时,我在模型中添加了另一个 CharField ,专门用于存储主字段中的其他选择,例如:

my_choices_field = CharField(choices=MY_CHOICES, max_length=64)
my_choices_field_other = CharField(max_length=64)

然后,在我的模板中,我将渲染这两个字段,并在 Form 中验证用户只能填写其中一个字段,例如

def clean(self):
...
if my_choices_field and my_choices_field_other: # Both are filled, raise error
raise ValidationError("Please select one or type other 'my_choice', not both.")

如果您确实想使用相同的字段,您可能需要使用一些 JavaScript 来手动将选项添加到您的 select 中,然后解决 选择的 Django 验证 因为它可能会阻止它。

关于python - 如何在 Django 中使用选项在字段中创建用户定义的 "Other"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40177764/

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