0

経費申請の経費モデルを定義しました。

class Expense(models.Model):
    pub_date = models.DateTimeField()
    amount = models.IntegerField()
    memo = models.TextField()

そして、次のようなさまざまなユーザーのデータを維持するために、失われた個別のテーブルを作成したいと思います。

james_expense_table for james 
william_expense_table for william
....
balabala_expense_table for balabala

これらは、並列オブジェクトのように、まったく同じ動作です。唯一の違いはプレフィックスです。そのため、より多くの機能でアプリケーションを簡単に拡張できます。

では、どうすればこれを達成できますか?

私はdjangowebからいくつかの抽象的なモデルのものを読みました。しかし実際には、それらは静的であり、*。pyファイルにハードコードされており、私が望むものではありません。

そしてもう1つの質問ですが、静的モデル(* .pyファイルのハードコード)の場合、「manage.py syncdb」コマンドを使用してモジュールフィールドをテーブルフィールドに同期できます。動的な場合、これをどのように行うことができますか?

4

1 に答える 1

0

あなたが望むのは、おそらく a を使用してForeignKey、テーブルを別のユーザーにリンクできるようにすることです。

class Expense(models.Model):
    pub_date = models.DateTimeField()
    amount = models.IntegerField()
    memo = models.TextField()
    user = models.ForeignKey(MyUserField)

MyUserField明らかに、実装してインポートする必要があります。

Expenseその後、テーブルからユーザーにアクセスできます

my_expense.user

または、Expense次を使用するユーザーのテーブル:

my_user.expense_set.all()

これにより、新しいユーザーごとに syncdb を実行する必要がなくなり、ファイルに静的にハードコーディングされなくなります。

于 2010-11-09T14:15:23.953 に答える