django中有一个可以有多个外键字段的字段吗?

时间:2011-06-04 00:25:15

标签: python django foreign-keys models

django中是否有可以有多个外键字段的字段?我有以下代码:

from django.db import models
from django.auth.models import *
class Wish(Model):
    name = CharField(max_length=128)
    cost = IntegerField()
    person = ForeignKey(Person)
    date = DateField('Date Wished')
    comments = CharField(max_length=1024)
    def __unicode__(self):
        return name

class Person(Model):
    user = ForeignKey(User)
    friends =...  # multiple foriegn keys of itself

2 个答案:

答案 0 :(得分:4)

尝试使用ManyToMany field

请注意,ManyToMany为同一模型,假设为symmetrical - 如果Person A是Person B的朋友,那么Person B也将是Person A的朋友。您可以指定symmetrical = False to避免这样做。

答案 1 :(得分:1)

我想你想要一个ManyToMany字段。在这个例子中,你会说一个人可以成为许多其他人/人的朋友,反之亦然。

Django的ManyToManyField:

https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ManyToManyField

General ManyToMany:

http://en.wikipedia.org/wiki/Many-to-many_(data_model)