Django 3.2.1 KeyError в панели администратора "django/db/models/fields/related_descriptors.py", строка 173
У меня есть модели, настроенные следующим образом:
class A(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class B(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
a = models.ForeignKey(A, on_delete=models.CASCADE)
def __str__(self):
return self.a.name
class C(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
b = models.ForeignKey(
B, on_delete=models.CASCADE, related_name="c_name"
)
def __str__(self):
return self.b.a.name
Когда я получаю доступ к C в панели администратора, я получаю следующую ошибку:
KeyError: 'a'
File "django/db/models/fields/related_descriptors.py", line 173, in __get__
rel_obj = self.field.get_cached_value(instance)
File "django/db/models/fields/mixins.py", line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
Я не могу найти ничего, что объясняет, почему это может быть неудачным. Я просмотрел базовые данные (через psql), внешние ключи указывают на правильные модели и т.д.