How can one ensure that a foreignkey (Value.user) from one object (Value) corresponds to the foreignkey (Value.userobject) of another foreignkey object (UserObject.user):
Value.userobject.user == Value.user
class UserObject(Model):
user = ForeignKey(User, on_delete=CASCADE)
dummyvalue = DecimalField(max_digits=18, decimal_places=10)
class Value(Model):
user = ForeignKey(User, on_delete=CASCADE)
# Ensure the object is owned by user, ie. userobject.user == user..
userobject = ForeignKey(UserObject, related_name='TheUsersObject', on_delete=CASCADE)
dummyvalue = DecimalField(max_digits=18, decimal_places=10)
class Meta:
constraints = [
CheckConstraint(
name="%(app_label)s_%(class)s_same_object_owner",
check=(
Q(
...
)
]
Currently I can think of handling this when processing the request, but would much prefer handling this as a model constraint if possible.