[Fixed]-Django unique_together on sub-class model for parent attribute?


It would be

unique_together = (('account', 'user__username'),)

if I understand what you’re trying to do. Note the double underscore. That’s how you look at a foreign key’s object’s properties.



I don’t believe you can do what you’re trying to do using django core. As pointed out in this answer to a related question unique_together is enforced at the DB layer. If you inspect the DB tables created by django model inheritance, you’ll see this isn’t possible for the DB to accomplish.

Take a look at that related question for some alternative solutions.


What you are missing is abstract = True in the base class. This creates a table with all the fields for the subclass.

Leave a comment