私はこのような私のmodels.py
ありますリミットの選択肢と(RESTにも)関連するオブジェクトへのDjangoの外部キーを検証
class Category(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=256, db_index=True)
class Todo(models.Model):
user = models.ForeignKey(User)
category = models.ForeignKey(Category)
...
を私はTodo.user
= Category.user
のみのものにTodo
ためCategory
の選択肢を制限したいです
私が見つけたすべての解決策は、クエリーセットをModelForm
に設定するか、フォーム内にメソッドを実装することでした。 (limit_choices_to
と同じように、それは(可能ではないでしょうか?))
問題は、私は、このような制限の問題で一つのモデルだけでなく、を持っているということである(例えばTag
、など)。また
、私はジャンゴRESTフレームワークを使用していますだから、Todo
が追加または編集されたときにCategory
をチェックする必要があります。
だから、私もそう
を(それがモデルのclean
、full_clean
メソッドを呼び出さないとlimit_choices_to
をチェックしないよう)シリアライザで機能validate
は、右のモデルを制限する必要がある、私は簡単な解決策、探していましたdjango AdminとRESTフレームワークの両方で動作します。
単純な方法で実装することができない場合は、最も難しい方法でコードを作成する方法のアドバイスを探しています。私は、これまでに発見した。ここ