@MSach. Независимо от того, что вы написали для SPA, вполне корректно,
Уникальное ограничение для заказа и продукта не позволяет сохранить более одного подзаказа для одного и того же заказа и одного и того же продукта:
class SubOrder(models.Model):
class Meta:
unique_together = ('order', 'product',)