如何在单个django模型字段中显示多个类别选项

如何在单个django模型字段中显示多个类别选项,django,django-models,Django,Django Models,我正在尝试设置一个Django模型,我希望一个名为categories的特定字段包含一个选项列表,该列表将作为用户可以选择的选项列表呈现给前端 我不熟悉Django和python,我真的不知道如何解决这个问题 from django.conf import settings from django.db import models class Profile(models.Model): user = models.ForeignKey(use

我正在尝试设置一个Django模型,我希望一个名为categories的特定字段包含一个选项列表,该列表将作为用户可以选择的选项列表呈现给前端

我不熟悉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 ""

我希望类别的选项来自后端或模型,这是一个长长的类别列表。我希望类别列表或选项保存为一个模型字段。

如果您想要一个长列表,并且该列表会经常更改,最好创建一个类别模型并使用ForeignKey

类别(models.Model):
title=models.CharField(…)
slug=型号。SlugField(…)
类配置文件(models.Model):
...
类别=模型.ForeignKey(类别,on_delete=模型.CASCADE)
如果类别列表是固定的(或不经常更新),您可以使用
选项

类配置文件(models.Model):
...
类别=(
(1,“第一类”),
(2,“第二类”),
(3,“第三类”),
...
)
类别=模型。整型字段(选项=类别)

是否有办法同时使用外键和选项?如果我计划随着时间的推移添加更多类别,选择仍然是一个好的选择吗?据我所知,没有办法对同一字段使用FK和选择,如果你继续添加类别,你仍然可以使用选择,但每次都需要更改代码。为了更好地理解,我想成为以后添加到后端类别的人,而不是用户。用户只需从提供给他们的类别中进行选择。所以按照你所说的,外键将是完美的?FK将更好,更容易添加类别,因为事实上你(作为一名管理员)可以去Django管理员和添加类别。但是,如果您(作为开发人员)是唯一一个添加类别的人,那么这些选择也会起作用,但是在这种情况下,您需要打开代码库并手动添加它们。所以,我要说的是和FK一起去。