我正在尝试建立Django模型,并且我希望有一个名为category的特定字段包含一个选项列表,这些选项将作为用户可以选择的选项列表呈现到前端。 / p>
我是Django和python的新手,我真的不知道如何解决此问题。
from django.conf import settings
from django.db import models
class Profile(models.Model):
user = models.ForeignKey(user, on_delete=models.CASCADE)
Bio = models.TextField(blank=False)
personalWebsiteURL = models.URLField(blank=True)
personalWebsiteName = models.URLField(blank=True)
categories = **model needed here**
def __str__(self):
return self.details or ""
我希望类别的选项来自后端或模型,这是一长列类别。我希望将类别列表或选项保存为模型字段。
答案 0 :(得分:1)
如果您想要很长的列表,并且要经常更改,那么最好创建类别模型,并为此使用ForeignKey。
class Category(models.Model):
title = models.CharField(...)
slug = models.SlugField(...)
class Profile(models.Model):
...
category = models.ForeignKey(Category, on_delete=models.CASCADE)
如果类别列表是固定的(或不经常更新),则可以使用choices
。
class Profile(models.Model):
...
CATEGORIES = (
(1, 'Category one'),
(2, 'Category two'),
(3, 'Category three'),
...
)
category = models.IntegerField(choices=CATEGORIES)