私はdjangoを使い始めています。私のプロジェクトでは、MPTT を使用しています。
私はかなり単純なモデルを持っています。
- カテゴリ: (木)
- Product1: カテゴリへの参照と外部キー。
特定の製品の基本カテゴリの検索を簡素化するために、Category モデルにルートを追加しました
models.py
class Category(MPTTModel):
name = models.CharField(max_length=200)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
@property
def root(self):
return self.get_root().name
class Product1(models.Model):
ref = models.CharField(max_length=200, blank=True) #YVX2311
category = TreeForeignKey(Category)
admin.py
admin.site.register(Category, MPTTModelAdmin)
admin.site.register(Product)
私が望むのは、管理フォームを変更して、次のようなことができるようにすることです。
models.ForeignKey(Category, limit_choices_to = {root : '製品の一部のカテゴリ'})
もちろん、これは不可能ですが、私が望むものを示しています。
TreeChoiseField をフィルタリングして、モデルのプロパティ (この場合はルート) に基づいていくつかのブランチのみを表示できるようにしたいと考えています。
ありがとう