我知道有很多关于此错误的帖子。例如:this和this one
但我已经知道了。这就是我疯了的原因。
当我创建一个实例并尝试保存它时,我没有问题:
per_detail.preview_title = per_detail.details_sample.preview_title
per_detail.icon = per_detail.details_sample.icon
per_detail.content = fill_content(per_detail)
per_detail.save()
容易。
但是当已经存在实例时,我会再次尝试保存它(更新它)。然后我收到了这个错误:
match = datetime_re.match(value)
TypeError:期望的字符串或类似字节的对象
使用此代码:
personal_detail_sample = kwargs['instance']
personal_details = PersonalDetail.objects.filter(Q(details_sample=personal_detail_sample))
for per_detail in personal_details:
per_detail_updated = fill_updated_content(personal_detail_sample, per_detail)
per_detail_updated.save()
我得说,在我尝试更新该实例的地方并不重要,我总是得到同样的错误。 (所以,这不是因为kwargs['instance']
)
这就是领域,这就是麻烦:
sent_date = models.DateTimeField(_('sent_date'), null=True, blank=True)
正如您可能注意到的那样,我从未填写过“sent_date”字段,但它应该为null。所以它应该不是问题。为了安全起见,我也尝试过:
per_detail.sent_date = *a date*
per_detail.save()
我得到了同样的错误。
我不知道它会是什么。
也许有人可以帮助我。
答案 0 :(得分:0)
我在该字段中收到错误" date"不是" sent_date"。
我很抱歉。 " date"的领域在 models.py 中是:
date = models.DateTimeField(_('date'), auto_now_add=True)
但数据库中time without time zone
而非timestamp without time zone
。为什么?谁知道......
我删除了sent_date
字段,并看到日期有另一个错误,这就是我发现错误的原因。
非常感谢那些试图提供帮助的人!