그래서,고유 한 두 개의 키가있는 장고 모델에 대한 자동 증가 필드를 만드는 방법은 무엇입니까?
class Item(models.Model):
site = Site()
id_on_site = PositiveIntegerField()
같은 모델은 지금은 ID를 생성하고, Item
를 만드는 작업이 원이 아니라고,
next_id_on_site = Item.objects.filter(site=current_site).aggregate(current_id=Max("id_on_site"))['current_id']+1
문제가 함께 인스턴스 Item(current_site, next_id_on_site)
을 만들려 가지고 중복 ID를 만드는 경쟁 조건이 있으므로 .get(site=current_site, id_on_site=someid)
은 MultipleObjectsReturned
예외를 발생시킵니다.
모델에서 unique_together
을 사용하면 자동 증가 ID 생성에 도움이되지 않으며 DB 수준에서 전혀 구현되지 않은 것으로 보입니다.
id_on_site는 자동 생성 ID입니까? –