0
我正在嘗試向用戶帳戶添加首選項。每個首選項都是真/假值,它需要保持這種方式。如何訪問在Django模型中保存爲布爾字段的用戶首選項?
由於每個帳戶可能有多個首選項,我想知道如何在我的模板中遍歷它們並讓這些首選項在整個應用程序中輕鬆可用。
Ex。我想顯示用戶的名字和他們喜歡的所有顏色。
models.py
class UserColors(models.Model):
white = models.BooleanField(_("White"))
black = models.BooleanField(_("Black"))
class Account(models.Model):
user = models.OneToOneField(User, unique=True, verbose_name='user', related_name='account')
colors = models.ForeignKey('UserColors', null=True)
views.py
class UserView(DetailView):
context_object_name = 'account'
template_name = 'detail.html'
def get_object(self, queryset=None):
return self.request.user
template.html
user: {% account.user.username %} <br>
colors:
# the following would be ideal instead of doing multiple ifs in search for true/false values
{% for color in account.colors %}
color.name
{% endif %}
輸出
user: userName
colors: white, black
我喜歡你的建議,但正如我在我的問題提到我必須保持顏色布爾字段。 – howtodothis
@Terra使用更接近原始代碼的解決方案進行更新。 – dokkaebi