Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-是否需要在ForeignKey上使用ManyToManyField?_Django_Django Models - Fatal编程技术网

Django-是否需要在ForeignKey上使用ManyToManyField?

Django-是否需要在ForeignKey上使用ManyToManyField?,django,django-models,Django,Django Models,我继承了一个遗留数据库,并将其用于Django应用程序 许多内部表具有一对一、一对多和多对多关系。在纯SQL应用程序中,数据查询将使用外键来维护引用完整性。在Django中,声明了ManyToManyField方法 是否必须在外键上使用manytomy?ForeignKey和manytomy是两件不同的事情。你可能是指ForeignKeyv/sOneToOne 例如: 让我们采用一些任意的开发人员模型 class Developer(models.Model): user = model

我继承了一个遗留数据库,并将其用于Django应用程序

许多内部表具有一对一、一对多和多对多关系。在纯SQL应用程序中,数据查询将使用外键来维护引用完整性。在Django中,声明了
ManyToManyField
方法


是否必须在外键上使用manytomy?

ForeignKey
manytomy
是两件不同的事情。你可能是指
ForeignKey
v/s
OneToOne

例如:

让我们采用一些任意的
开发人员
模型

class Developer(models.Model):
    user = models.OneToOneField(User) #ensure there is a one-to-one relationship between User and Developer model - One user object in django.contrib.auth can be associated with only one Developer and vice versa 
    category = models.ManyToMany(Category) #Developer can be part of many categories, and also one category can be associated with many developers
    birth_address = models.ForeignKey(Address) #He can have only birth place. The address can be associated with many, so it is a `OneToMany` relationship
因此,是多对多关系,是受限的
manytomy
(多对一关系)

因此,您可以使用其中任何一个,但如果希望限制可以与所讨论的模型关联的对象的数量,则最好限制为
ForeignKey