一个旅游景点可以有多个主题.如何在 django 模型中实现这一点?



这是我目前的 django 模型。如何为一个地名存储多个主题 主题包括冒险,海滩,遗产,山站等 一个地方既可以在冒险,海滩

from django.db import models
class places(models.Model):
place_id = models.AutoField(primary_key=True)
place_name = models.CharField(max_length=50)
city = models.CharField(max_length=50)
state = models.CharField(max_length=50)
country = models.CharField(max_length=50)
description = models.TextField()
theme = models.ForeignKey('Theme',on_delete=models.CASCADE)
class Theme(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return self.name

您需要使用 ManytoManyField。

from django.db import models
class Theme(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return self.name

class Place(models.Model):
place_id = models.AutoField(primary_key=True)
place_name = models.CharField(max_length=50)
city = models.CharField(max_length=50)
state = models.CharField(max_length=50)
country = models.CharField(max_length=50)
description = models.TextField()
themes = models.ManyToManyField(Theme)

在此处阅读文档。始终将 ManytoManyField 放在将由表单编辑的对象上。此外,请确保在Place之前初始化Theme类,以免出现未定义的错误。

最新更新