Event
次のように、への一般的なインライン関係で名前が付けられた django モデルがありRelationship
ます。
# models.py
class Person(models.Model):
...
class Role(models.Model):
...
class Event(models.Model):
...
class Relationship(models.Model):
person = models.ForeignKey(Person)
role = models.ForeignKey(Role)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey("content_type", "object_id")
# admin.py
class RelationshipInline(generic.GenericTabularInline):
model = Relationship
extra = 0
class EventAdmin(admin.ModelAdmin):
inlines = [RelationshipInline]
イベント管理ページだけでなく、ユーザー管理ページからもインラインを編集する方法を見つけたいと思います。これまでのところ、ピープルページにもインラインを表示するために次のコードを追加しました
class ReverseRelationshipInline(admin.TabularInline):
model = Relationship
class IndividualAdmin(admin.ModelAdmin):
inlines = [ReverseRelationshipInline]
しかし、フォームのフィールドを取得content_type
しobject_id
ますが、主キーへの参照にすぎないため、管理者ユーザーにとってはあまり情報がありません。解決して表示することをお勧めしますcontent_object
(編集できない場合でも、リストで人がどのオブジェクトに関連しているかを知ることができます)。
おすすめの向きは?
ありがとう。