我有一个字段设置为“无”的用户:
None|Default User|07/07/2023
然而,Django出于某种原因没有看到它:
queryset=Q(id=UUID(User.objects.get(user_id=None)
...
raise self.model.DoesNotExist(pages.models.User.DoesNotExist: User matching query does not exist
出现右括号。
将默认字段设置为数据库中存在的另一个UUID也没有任何帮助。我正在尝试运行迁移。
我的模特:
class User(models.Model):
"""
A class presenting user who can view lessons and have access to them
"""
user_id = models.UUIDField(
primary_key=True,
default=uuid.uuid4,
editable=False,
null=True
)
name = models.CharField(max_length=60, default='Name')
date_of_registration = models.TimeField(default=timezone.now)
def __str__(self):
return self.id
将默认值设置为当前user_id
也没有帮助。stackoverflow上类似的问题没有答案,在互联网上没有找到关于这个特定问题的信息。我应该提供哪些附加信息?
2条答案
按热度按时间wz3gfoph1#
UUID不是
NULL
,所以user_id=None
将不起作用,它是字符串None
,所以您可以使用以下命令检索:UUID在大多数数据库中只是一个
CharField
,它将UUID存储为字符串,因此它将在其上调用str(…)
,显然它在None
对象上做了这件事。mftmpeh82#