2009-07-01 9 views
0

私はdjangoの新機能です(そしてSQLでの経験はありません)ので、標準的な方法はありません。内部データベース構造をチェックする方法

だから私は、私が確認する場合は、最大1人の固定人bertween会員と固定バンドであり何http://docs.djangoproject.com/en/dev/ref/contrib/admin/#working-with-many-to-many-intermediary-models

からバンド、人物、メンバーシップの例を使用を前提としています。ある人は、そのバンドに対して「invite_reason」と「join_date」を1つだけ持つことができます。 onetomanyモデルのような "ユニークな"フラグがありますか?

私は新しいものをチェックして消去するルーチンを書くことができると思います。そのようなルーチンはどこに住んでいて、それを(cron、djangoのシグナル(私はまだ分かりませんが))呼び出すつもりですか?

答えて

2

あなたの質問に間違いがあるかもしれませんが、内部のMetaクラスを調べたいのですか?

class Membership(models.Model): 

    class Meta: 
     unique_together = (('person'), ('group'),) 

    person = models.ForeignKey(Person) 
    group = models.ForeignKey(Group) 
    date_joined = models.DateField() 
    invite_reason = models.CharField(max_length=64) 

これは、人がグループのメンバーになることは決してないという制約を追加します。技術的には、この表には「person」と「group」が同じ値を持つ2つの行が存在しないことがあります。

PK 7を持つ人は決してPK 11のグループのメンバーではないはずです。あなたが言ったように、実際にはpre_saveフックというDjangoシグナルを実際に調べるべきです。

関連する問題