如何在django模型中保存多选?

时间:2018-06-19 04:19:14

标签: python django

我有两个模型商业和类别。我想在商业中保存多个类别。

class Business(models.Model):
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    business_name = models.CharField(max_length=100)
    category = models.IntegerField()
    keyword = models.CharField(max_length=100)

和类别模型在这里

class Category(models.Model):
    name = models.CharField(max_length=100)
    slug = models.CharField(max_length=100)

类别模型已经填充了值。

1 个答案:

答案 0 :(得分:1)

你有两个选择1)多对一,多对多 1)多对一是ForeignKey在类别模型中添加并将每个类别与业务链接,在此您可以确定哪个类别是商业的孩子,您可以在django document

中找到更多详细信息
class Category(models.Model):
    name = models.CharField(max_length=100)
    slug = models.CharField(max_length=100)
    business = models.ForeignKey(Business, on_delete=models.CASCADE)

2)多对多在业务中选择多个类别,您可以访问业务模型中的所有内容,并在您编写业务模型查询和访问类别,因为您需要在商务之前编写类别,您可以找到更多django document

中的详细信息
class Business(models.Model):
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    business_name = models.CharField(max_length=100)
    category = models.IntegerField()
    keyword = models.CharField(max_length=100)
    category= models.ManyToManyField(Category)