Python can';我没有得到django模型外键的对象,而且我的设计可能很糟糕

Python can';我没有得到django模型外键的对象,而且我的设计可能很糟糕,python,django,model,foreign-keys,Python,Django,Model,Foreign Keys,我制作了两个django模型:Person和Items(这是我代码的一部分): 基本上,我需要有一个人有潜力拥有多个项目。我需要能够检查所有者是否有物品,然后我还需要能够检查物品当前是否有所有者。我无法使用变量所有者,因为它是外键。或者我解决这个问题的方法不对 如果我处理错了,我需要能够存储一个项目和所有者的数据库,所有者有多个项目,我应该能够知道谁有哪些项目 请帮忙 我想你需要在物品之前申报人 此外,您可能希望使用关系而不是ForeignKey class Item(models.Model)

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

基本上,我需要有一个人有潜力拥有多个项目。我需要能够检查所有者是否有物品,然后我还需要能够检查物品当前是否有所有者。我无法使用变量所有者,因为它是外键。或者我解决这个问题的方法不对

如果我处理错了,我需要能够存储一个项目和所有者的数据库,所有者有多个项目,我应该能够知道谁有哪些项目


请帮忙

我想你需要在物品之前申报人 此外,您可能希望使用关系而不是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

这应该起作用

人在物品之前。我将它向后粘贴。然后编辑你的帖子!看一看多对多的关系,如果一个人可以有几个(多个)物品,这就是你想要使用的。我今天认真地学习了Django。你能帮我找到一个解决方案吗?我喜欢你发布的内容,但是我应该在你的第二部分中输入item=item.objects.create。。等等?我一直在使用ForeignKey作为下拉列表,以便您可以选择要添加的项目。然后将id字段添加到您设置为主键的项目模型中。您将在下拉列表中使用的主键。因此,您可以使用id和名称创建所有项目。实例化您的下拉列表。一旦进入视图,您就可以获得item
item.objects.get(id=id)
,并将其添加到我的答案中所写的人物中。阅读有关许多关系的文档,这会有所帮助!
person = Person.objects.get(name="the person's name")
person.add(item)
person.save