2014-02-05 2 views
2

Я до сих пор очень новичок в Django и пытаюсь выяснить, что является лучшим подходом к следующей проблеме.Django: сохранение пользовательских настроек

Я хочу сохранить пользовательские личные предпочтения (вещи, которые нравятся или не нравятся пользователям), как простые логические значения - true или false. Дело в том, что настройки не фиксированы, и новые настройки могут быть добавлены через интерфейс администратора.

Это то, что я имею в виду.

Предпочтения:

class Preferences(models.Model): 
    title = models.CharField(max_length=100) 
    ... 

значения:

class PreferencesValues(models.Model): 
    user = models.ForeignKey(User) 
    preference = models.ForeignKey(Preferences) 
    value = models.BooleanField() 

Является ли это путь или есть лучший подход? Кроме того, что было бы лучшим способом сделать форму, которая отображает все доступные настройки с помощью флажков, но устанавливает начальные значения для проверки тех настроек, которые пользователь уже отметил?

+0

Есть более до даты ответы на вопросы связанные с: http://stackoverflow.com/questions/ 6085025/Джанго-пользователем профиль – ptim

ответ

0

Если все ваши значения предпочтений являются логическими, этот способ может быть приемлемым. И если вы хотите обработать PreferencesValues ​​с формами django, вы должны взглянуть на django formsets.

Но если вы хотите сделать что-то ajaxified у также должны смотреть на это:

https://djangosnippets.org/snippets/1389/

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