2013-05-07 2 views
1

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

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') и нажимает save, соответствующее значение равно «0», которое должно быть сохранено в date_format.

3. Форматы дат даты сохраняются в соответствующих полях с «0» или «1».

Я не могу использовать формы для проверки и сохранения, потому что я не использую modelsForm, поэтому как сохранить его в базе данных.

Пожалуйста, поделитесь мной небольшой идеей, чтобы выполнить это без формы.

Благодаря

ответ

1

Я думаю, что ваша модель может быть переработан, и вы должны использовать Django ModelForm.

Но почему вы хотите сохранить удобочитаемую часть в db, если вы их укрепили в своем коде? вы хотите получить его после?

Если вы хотите получить человеко-читаемую часть, просто используйте get_date_format_display() для модели DateFormat и get_time_format_display() для модели TimeFormat. Django генерирует эти методы

см этого Documentation

Надеется, что это helpsvalue

+0

Я не вижу, что его вашу точку с этим, но хорошо. – lalo

+0

Это нормально работает? – lalo

Смежные вопросы