Создание панели администратора для модели с общим внешним ключом в Django
Вот моя модель, и я хочу зарегистрировать для нее администратора Django. Я хочу автоматически отображать связанные объекты, когда пользователь выбирает тип контента. Есть ли у вас какое-нибудь решение для этого?
class UserAccessContent(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
order = models.ForeignKey(Order, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
def __str__(self) -> str:
return self.content_object.title
и вот мой класс администратора. Кажется, что autocomplete_lookup_fields не работает! Я не знаю почему.
@admin.register(UserAccessContent)
class UserAccessContentAdmin(admin.ModelAdmin):
readonly_fields = ['content_object']
list_display = ['id', 'user', 'content_object', ]
list_display_links = ['id']
list_per_page = 20
search_fields = ['user']
autocomplete_lookup_fields = {
'content_object': [['content_type', 'object_id']],
}