'Django 3.2.1 KeyError in admin panel "django/db/models/fields/related_descriptors.py", line 173
I have models set up like the following:
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
When I access C in the admin panel, I'm getting the following error:
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]
I can't seem to find anything that explains why this would fail. I have looked at the underlying data (via psql) and the foreign keys are pointing to the right models etc.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
