python - 精确查找的 QuerySet 值必须限制为使用切片和
问题描述
我想在保存表单时获取或创建一个对象
我的观点
@login_required
def index(request, log_id):
log = get_object_or_404(LogBook, pk=log_id)
logmessages = LogMessage.objects.filter(logbook=log_id)
logbook = LogBook.objects.get_or_create(logmessages=logmessages)
form = CreateLogMessage(request.POST)
if request.method == "POST":
if form.is_valid():
logbook.done_status = False
logbook.save()
instance.save()
我的模型:
class LogMessage(models.Model):
logbook = models.ForeignKey(LogBook)
class LogDone(models.Model):
logmessage = models.ForeignKey(LogMessage)
done_status = models.BooleanField(default=False, verbose_name="Status")
我从 SO 中尝试了几个答案: Django:The QuerySet value for an exact lookup must be limited to one result using slicing但它返回另一个错误
get() 返回了多个 LogMessage —— 它返回了 8 个!
这一个精确查找的 QuerySet 值必须限制为使用切片的一个结果 - Django再次返回,一个不同的错误
'int' 对象没有属性 'all'
所以我不确定我做错了什么。
解决方案
推荐阅读
- spring - 需要 Spring JPA JPQL 查询的帮助以在单个语句中获取多个计数
- python - 在 for 循环中使用 np.hstack(或 np.vstack)或更改先前创建的 np.zeros 数组的列来创建矩阵更快?
- python - 熊猫行做列
- r - 在 R 中引导一个简单的函数
- iis - 公共 IP 地址指向内部 IP 地址
- c# - 如何从 C# 中的文本文件中读取特定的 UNPREDICTED 字符串
- json - 在 Flutter 中本地写入和读取 JSON 文件不包含引号
- java - 作业实例已存在且参数已完成
- python - add_weight() 在 Keras 中使用自定义 Attention(Layer) 时为参数“name”获取了多个值
- c# - 如何在c#中创建合并项方法