我有一個模型Order
,我該如何返回一個外鍵綁定到另一個對象的對象?
class Order(SmartModel):
SUBMITTED = 1
PROCESSED = 2
DELIVERED = 3
PICKED_UP = 4
CANCELLED = 5
ORDER_STATUSES = ((SUBMITTED,'Submitted'),(PROCESSED,'Processed'),(DELIVERED,'Delivered'),(PICKED_UP,'picked_up'),(CANCELLED,'Cancelled'),
date = models.DateTimeField(auto_now=True,auto_now_add=True)
status = models.IntegerField(choices=ORDER_STATUSES, default=SUBMITTED)
restaurant = models.ForeignKey(Restaurant,null=True,blank=True,default = None,help_text="The restaurant the customer order from")
email = models.EmailField(max_length=50,help_text="Needed as alternative")
mobile = PhoneNumberField(max_length=20,default='+25078######',help_text="Needed to communicate and confirm payment from mobile money")
我創建並保存此對象如下,
def create_order(request,self):
orders = Order()
checkout_form = forms.CheckoutForm(request.POST,instance=orders)
orders = checkout_form.save(commit=False)
anon_user = User.objects.get(id=settings.ANONYMOUS_USER_ID)
orders.created_by = anon_user
orders.modified_by = anon_user
orders.status = Order.SUBMITTED
orders.save()
......
我的管理看起來像這樣,
class OrderCRUDL(SmartCRUDL):
model = Order
permissions = True
actions = ('list','read','create','delete','update')
class List(SmartListView):
fields = ('date','status','billing_name','mobile','email','billing_address','billing_city','restaurant','restaurant.services')
search_fields = ('date',)
我想在管理員的一個restaurant
查看從其應用程序的菜單創建的只有orders
的列表。到目前爲止,一家餐廳可以查看應用上所有訂單的列表。
我該如何做到這一點,也歡迎閱讀建議。
這裏是代碼我使用並獲得錯誤TypeError: object of type 'instancemethod' has no len()
def queryset(self,request):
queryset = self.Order.objects.get_queryset()
current_restaurant = Restaurant.objects.get(id=request.user)
return queryset.filter(restaurant = current_restaurant)
米的東西得到這個錯誤'類型的對象instancemethod'沒有LEN()結果' – 2013-03-07 10:25:50
你能告訴你的代碼試過嗎? – arulmr 2013-03-07 10:26:56
我剛剛做了,檢查出來 – 2013-03-07 10:40:20