gpt4 book ai didi

python - 使用一对一和外键字段创建新模型实例

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:21 25 4
gpt4 key购买 nike

型号:

class BurrowedBook(models.Model):
# Fields
borrow_date = models.DateField()
return_date = models.DateField()
actual_return_date = models.DateField(null=True)

# Relationship Fields
book_copy = models.OneToOneField(BookCopy)
burrowed_by = models.ForeignKey(Member)

保存新实例:

member = Member.objects.filter(member_id=memberId)
book_copy = BookCopy.objects.filter(book=book, copy_number=book_copy_id)

BurrowedBook.objects.create(borrow_date=borrow_date,
return_date=return_date,
book_copy=book_copy, burrowed_by=member)

如何保存此模型的新实例?我在处理一对一字段和外键字段时遇到问题。

我收到这个错误:

Cannot assign "<QuerySet []>": "BurrowedBook.book_copy" must be a 
"BookCopy" instance.

最佳答案

出现错误是因为您试图分配一个查询集 Cannot assign "<QuerySet []>"要解决您的问题,您必须使用 get,它返回单个对象而不是查询集

member = Member.objects.get(member_id=memberId)
book_copy = BookCopy.objects.get(book=book, copy_number=book_copy_id)

另一种选择是从查询集中获取第一个对象:

book_copy = BookCopy.objects.filter(book=book, copy_number=book_copy_id)[0]

关于python - 使用一对一和外键字段创建新模型实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com