我有兩個型號,Recieved_order
和order
,爲什麼get getqueryset()沒有返回正確的結果?
class Order(SmartModel):
restaurant = models.ForeignKey(Restaurant,null=True,blank=True,default = None,help_text="The restaurant the customer order from")
#contact info
email = models.EmailField(max_length=50,help_text="Needed as alternative")
mobile = PhoneNumberField(max_length=20,default='+25078######')
class Recieved_Order(SmartModel):
item = models.ForeignKey(Item)
date_added = models.DateTimeField(auto_now=True,auto_now_add=True)
quantity = models.IntegerField(default=0)
price = models.DecimalField(max_digits=9,decimal_places=2)
order = models.ForeignKey(Order)
我希望有一個餐廳經理(用戶),以能夠接收到他的具體的餐廳作出的命令(Recieved_order
)登錄時,要做到這一點,我在views.py
class Recieved_OrderCRUDL(SmartCRUDL):
model = Recieved_Order
actions = ('create','read','update','delete','list')
permissions = True
class List(SmartListView):
fields = ('order_email','order_mobile','order_billing_city','item.name','item.price','quantity','order_id','order_restaurant')
search_fields = ('date_added',)
def get_queryset(self,*args,**kwargs):
queryset = super(Recieved_OrderCRUDL.List, self).get_queryset(*args,**kwargs)
if self.request.user.is_superuser:
return queryset
return queryset.filter(order=self.request.user)
與上面,我是在兩個不同的餐廳,餐廳和它不工作了,因爲它應該測試以下。它返回給定餐館的錯誤訂單。
我在做什麼不對get_queryset()
。
你確定self.request提供了一個有效的請求對象嗎? – karthikr 2013-04-10 20:42:30
是的,它確實.. – 2013-04-10 20:43:51