2013-02-15 4 views
-1

모델이 OrderItem이고 외래 키가 order입니다. I는 또한 같은 OrderItem에를 생성하는 기능,어떻게 django foreignkey를 업데이트 할 수 있습니까?

OrderItem.objects.create(shopping_id=_shopping_id(request), 
              quantity=quantity, 
              item=i, 
              created_by=anon_user, 
              modified_by=anon_user) 

이 당신은 내가 그것을 할 수 있습니다 방법을 이해하는 데 실패했기 때문에 내가 order을 포함하지 않은 볼 수 있듯이. 내가 오류를 order_items.order_id may not be NULL

를 얻을 여기에 도움의 모든 종류의 감사 OrderItem

class OrderItem(SmartModel): 
    shopping_id = models.CharField(max_length=50,db_index=True) 
    quantity = models.IntegerField(default=0) 
    item = models.ForeignKey(Item) 
    order = models.ForeignKey(Order) 

내 모델입니다.

답변

0

. 코드는 다음과 같이한다 : 그 404 페이지를 returnin 전혀 작동하지 않는

 try: 
     order = Order.objects.get(pk=order_id) 
    except: 
      order = Order.objects.create(name=name) 

    OrderItem.objects.create(shopping_id=_shopping_id(request), 
             quantity=quantity, 
             item=i, 
             order=order 
             created_by=anon_user, 
             modified_by=anon_user) 
+0

고마워요. –

+0

왜이 하나가 작동하면 다른 대답을 받아들이세요 .. :) – UnLiMiTeD

+0

내 잘못 ... 고치다 .. –

1

order을 추가하는 이유가 item 인 이유는 무엇입니까? 둘 다 ForeignKeys이고 두 경우 모두 관련 객체를 키워드 인수로 전달하기 만하면됩니다.

+0

이 .. –

+0

(404) 때문에 URL의 반환 또는 개체가 없습니다. 주문 오브젝트가 OrderItem에 추가되기 전에 존재하는지 확인 하시겠습니까? – UnLiMiTeD

+0

Daniel 주문 및 항목 개체를 작성한 것과 같은 방식으로 추가해야합니다. – UnLiMiTeD

0

작동하지 않습니까?

order, created = Order.objects.get_or_create(...) 

다음

당신은 더 그것을 만드는 경우가 존재하지 않는 경우 확인하고 OrderItem에 객체를 생성해야
OrderItem.objects.create(order=order, shopping_id=_shopping_id(request), 
              quantity=quantity, 
              item=i, 
              created_by=anon_user, 
              modified_by=anon_user) 
+0

이것은 다른 경우에는 효과가 있었지만 제 경우에는 효과가 없었습니다. 그러나 고마워 .. –

관련 문제