私はDjangoのアプリでシンプルPostモデルを持っている:Djangoにニックネームのある匿名ユーザーを格納するためのエレガントな方法ですか?
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、または可能であれば負の数)を表すdbに「ダミー」ユーザーレコードを追加することを検討していました。それが存在する場合は、匿名ユーザーのニックネームを表すために、null可能な名前フィールドが使用されます。
この解決法は私にはちょっとハッキリです。よりクリーンなソリューションがありますか?
これはdjango-lazysignupが使用するのと同じアプローチであり、独自のものを使用する代わりにその方法を使用することをお勧めします。注意してください。あなたはカジュアルなユーザー、クローラー、および他のあらゆる種類のランダムなものを持ち、決して消えないユーザーアカウントを作成するためです。 django-lazysingupはそれをうまく処理します。 – slacy