質問: ### 前提・実現したいこと Djangoで食べログのようなサイトを作りたいと考えています。 それぞれ、エンドユーザーと店舗オーナーがいて、ログイン後に下記が行えるようにしたいです。 <エンドユーザー> ・クチコミ投稿 <店舗オーナー> ・店舗情報の編集(カテゴリが複数あるため、モデルもその数だけあります) この場合、ユーザーモデルが2つ必要になるのでしょうか? それとも、カスタムユーザーを1つ作り、それに対して、口コミをForeignKey、カテゴリ分の店舗情報モデルをOneToOne(一店舗1アカウントの場合)でリレーションするイメージが効率的でしょうか??(もしくは店舗もForeignKey...?) 最初の設計段階でつまづいており、アドバイスをいただけますと幸いです。 よろしくお願いいたします!
回答: 質問を読んだ感想です(具体的なアドバイスや回答はできそうもないので) まず、何がしたいのか、何ができるシステムにするのか、を具体的に決めましょう。「xxのような」という不確かなターゲットのままでプロジェクトを始めると迷走しがちです(「カレーライスが食べたい!」と料理を始めたら、たいていカレーライスが出来上がりますが、「カレーのようなものでも」と料理を始めると、冷蔵庫に残っている材料でチャーハンになったりします)。 使えるシステムにするには、”効率”よりも"機能"を重視すべきだと思います。必要最低限の機能を実装できた後で、(何で測るのか知りませんが)"効率"を考えても遅くないと思います。 構想や設計が具体化してきて、「ここで困っている」というのが明らかになってから、質問しても遅くないとも思います。