gpt4 book ai didi

python - 如何在 Django 中创建自定义选择字段?

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:28 24 4
gpt4 key购买 nike

我正在尝试创建一个表单,用户可以在其中填写语言、描述和语言级别(中级、高级...)。

语言模型:

class Language(models.Model):
shortcut = models.CharField(max_length=6)
name = models.CharField(max_length=50)
first_level_price = models.FloatField() # Basic
second_level_price = models.FloatField() # Intermediate
third_level_price = models.FloatField() # Advanced

def __str__(self):
return self.shortcut+': '+self.name

对于每种语言,存在三个级别和价格(first_level_pricesecond_level_pricethird_level_price)。

现在,我希望用户填写表格。其中一种形式应该是级别。用户只需选择“基本”、“中级”或“高级”。根据这个选择,就会有计算价格。

因此,如果用户选择了“Basic”,则会根据语言的first_level_price 来定价。

我试过很多方法,但没有一个奏效。

level = forms.ChoiceInput(choices=('Basic','Intermediate','Advanced'))

最佳答案

你可以像这样更新你的模型:

class Language(models.Model):
PRICE_CHOICES = (
('first_level_price', 'Basic'),
('second_level_price', 'Intermediate'),
('third_level_price', 'Advanced'),

)

first_level_price = models.FloatField() # Basic
second_level_price = models.FloatField() # Intermediate
third_level_price = models.FloatField() # Advanced

shortcut = models.CharField(max_length=6)
name = models.CharField(max_length=50)
level = models.CharField(max_length=50, choices=PRICE_CHOICES)

def __str__(self):
return self.shortcut+': '+self.name

现在您可以使用此模型创建一个 ModelForm,它应该会按您期望的方式工作。

当用户选择 first_level_priceBasic 成员(member)时,您现在可以从 first_level_price 字段获取价格。

关于python - 如何在 Django 中创建自定义选择字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34598661/

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