Accessing a foreign key's base classes's fields in UniqueConstraint
In the UniqueConstraint for personality -> language, I'm getting the error FieldDoesNotExist
For example, if my code looked like this:
class LanguageModel(models.Model):
language = models.CharField(
max_length=16,
default="en",
)
class Meta:
abstract = True
class PersonModel(LanguageModel):
created_at = models.DateTimeField(editable=False, auto_now_add=True)
updated_at = models.DateTimeField(editable=False, auto_now=True)
class Meta:
managed = True
db_table = "PersonModel"
class CollectionofPeople(models.Model):
id = models.UUIDField(primary_key="True", default=uuid.uuid4, editable=False)
created_at = models.DateTimeField(editable=False, auto_now_add=True)
updated_at = models.DateTimeField(editable=False, auto_now=True)
is_default = models.BooleanField(default=False)
personality = models.ForeignKey(
"PersonModel",
null=True,
on_delete=models.CASCADE,
)
class Meta:
managed = True
db_table = "CollectionofThings"
constraints = [
models.UniqueConstraint(
fields=["personality__language", "id"],
name="unique_personality_language",
)
]
Is it possible to access the personality language in a UniqueConstraint? Or more generally, can I access a foreign key's abstract base class's field?