2013-05-07 118 views
1

forms.py如何在数据库保存在Django

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()) 

models.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,所以如何将它保存在数据库中。

请与我分享一个轻微的想法来执行此表单。

感谢

回答

1

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

但是,如果你已经在代码中强化了它们,你为什么要将可读的部分保存在数据库中?你想要得到它吗?

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

看到这个Documentation

希望这helpsvalue

+0

我看不出有什么是你的观点,但确定。 – lalo 2013-05-07 15:02:25

+0

这工作正常吗? – lalo 2013-05-07 15:02:46