这是我目前的 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类,以免出现未定义的错误。