【问题标题】:how to save radio buttons values in db in django如何在 django 的 db 中保存单选按钮值
【发布时间】:2013-05-07 14:31:12
【问题描述】:

forms.py

Date_Format = (
    ('0', ' dd / mm / yyyy'),
    ('1', 'mm / dd / yyyy'),
)

Time_Format = (
    ('0', ' 12 hour AM / PM '),
    ('1', ' 24 hour '),
)

class DateFormatForm(Form):
    date_format = forms.ChoiceField(choices=Date_Format,widget=forms.RadioSelect())

class TimeFormatForm(Form):
    time_format = forms.ChoiceField(choices=Time_Format,widget=forms.RadioSelect())

模型.py

class Settings(models.Model):
    user = models.ForeignKey(User, null=True)
    date_format = models.CharField('Date format', max_length=100)
    time_format = models.CharField('Time format', max_length=100)
  1. 我在模板中保留了两个表单,即 DateFormatForm 和 TimeFormatForm,用于选择日期广告时间格式。

  2. 在模型中,它们有两个字段,即 i.date_format 和 ii.time_format,用于创建表单选项。因此,如果用户单击此格式('0','dd / mm / yyyy'),并且按保存,对应的值为“0”,应保存为date_format。

3.因此,日期格式以“0”或“1”保存在相应的字段中。

由于我没有使用modelsForm,所以无法使用表单表单验证和保存,所以如何将其保存在数据库中。

请分享我一个小小的想法来执行此操作。

谢谢

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    我认为你的模型可以重构,你应该使用 Django ModelForm。

    但是,如果您在代码中硬核化了人类可读的部分,为什么还要将它们保存在 db 中呢?你想得到它吗?

    如果您想获得人类可读的部分,只需将 get_date_format_display() 用于 DateFormat 模型,将 get_time_format_display() 用于 TimeFormat 模型。 Django 生成这些方法

    看到这个Documentation

    希望这有助于价值

    【讨论】:

      猜你喜欢
      • 2013-04-03
      • 2011-10-31
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2020-11-12
      • 2020-02-16
      • 1970-01-01
      • 2020-06-14
      相关资源
      最近更新 更多