我试图理解django模型中的这个多领域逻辑。
我有两个django模型:location
和image
。
我还有另一个名为location_has_image
的第三个django模型。此模型以此形式定义。
class location_has_image(models.Model):
of_location = models.ForeignKey(location,related_name="of_location")
of_image = models.ForeignKey(image,related_name="of_image")
我的问题是,当我保存新的location
和image
对象时,是否必须将某些内容保存到此模型中?或者这个location_has_image
会自动设置为新创建的对象吗?或者我在这里以错误的方式思考?
请帮忙!
答案 0 :(得分:1)
您应该使用 ManyToManyField 。它为您创建中间联接表并对其进行管理。
Django docs的例子:
from django.db import models
class Publication(models.Model):
title = models.CharField(max_length=30)
def __unicode__(self):
return self.title
class Meta:
ordering = ('title',)
class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)
def __unicode__(self):
return self.headline
class Meta:
ordering = ('headline',)
实施例: https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many/
现场文档: https://docs.djangoproject.com/en/dev/ref/models/fields/#ref-manytomany