がオブジェクトの履歴バージョンを保存するときdjango-simple-history
、外部キーの外部キー制約をすべて削除します (これは、履歴レコードが指しているオブジェクトを削除しても、履歴レコードが影響を受けないようにするためです)。外部キーを処理する方法django-simple-history
を実行すると、django admin で通常実行できる二重アンダースコア クエリのタイプを実行できなくなります。代わりに、以下に示すように、オブジェクトを自分でクエリできます。
@register(Employee)
class EmployeeAdmin(SimpleHistoryAdmin):
list_display = [...]
history_list_display = ["get_employee_name", "get_employee_manager_name"]
def get_employee_name(self, obj):
obj.person.name
def get_employee_manager_name(self, obj):
return Employee.objects.filter(pk=obj.employee.id).first().manager.person.person_name