我的 django 应用程序中有一个简单的 Post 模型:
class Post(models.Model):
category = models.CharField(max_length=10, choices=choices)
message = models.CharField(max_length=500)
user = models.ForeignKey(User, editable=False)
我想实现让匿名用户创建带有昵称的帖子的功能。不幸的是,django 不允许您将 AnonymousUser 的实例保存为 Post 类的外键。
我正在考虑在数据库中添加一个“虚拟”用户记录,该记录代表匿名用户(id = 0,或者如果可能的话,是一些负数),它将用于没有用户的所有帖子。如果存在,则可以使用可为空的名称字段来表示匿名用户的昵称。
这个解决方案对我来说似乎有点 hacky。有没有更清洁更有效的解决方案?