0

我制作了两个 django 模型:Person 和 Items(这是我的代码的一部分):

class Person(models.Model):
    """ Represent a person who has credentials. The person may have
    devices and/or accessories. """ 

    #basic information
    name = models.CharField(max_length=50, unique=True)

class Item(models.Model):
""" Represents a device or accessory. """  
    owner = models.ForeignKey(Person)

基本上,我需要一个人有可能拥有多个项目。我需要能够检查一个所有者是否有一个项目,然后我还需要能够检查一个项目当前是否有一个所有者。我不能使用变量所有者,因为它是外键。或者我可能错误地解决了这个问题?

如果我接近这个错误,我需要能够存储项目和所有者的数据库,所有者拥有多个项目,我应该能够知道谁拥有哪些项目。

请帮忙!

4

1 回答 1

0

我认为您需要在 Item 之前声明 Person 您可能还想使用ManyToMany关系而不是 ForeignKey

class Item(models.Model):
""" Represents a device or accessory. """  
    name = models.models.CharField(max_length=50)

class Person(models.Model):
""" Represent a person who has credentials. The person may have
    devices and/or accessories. """ 

    #basic information
    name = models.models.CharField(max_length=50)
    item = models.ManyToManyField(Item)

所以基本上你是倒着做的。所以你创建一个对象项目:

item = Item.objects.create(name='itemname')

然后将其添加到 person 对象中:

person = Person.objects.get(name="the person's name")
person.add(item)
person.save

这应该工作

于 2013-05-07T01:55:14.467 回答