我有兩個類Customer
和Restaurant
有OneToOneField
與django內置在User
。當我訪問一個頁面時,我試圖確定它是哪個User
。我在做什麼不工作,因爲User
模式將始終對具有restaurant
屬性返回True,所以它永遠不會使得它過去的第一if
聲明...如何區分用戶與查找
models.py
class Restaurant(models.Model):
restaurant_user = models.OneToOneField(User, on_delete=models.CASCADE)
restaurant_name = models.TextField(max_length=50)
about = models.CharField(max_length=500)
class Customer(models.Model):
customer_user = models.OneToOneField(User, on_delete=models.CASCADE)
about = models.CharField(max_length=500)
views.py
def dashboard(request):
if User.restaurant:
return render(request,'usermanage/dashboard_restaurant.html')
elif User.customer is not None:
return redirect(request, 'usermanage/dashboard.html')
else:
return render(request, 'usermanage/dashboard.html')
您應該在'CustomUser'模型中設置一個標誌或狀態字段或角色字段來描述哪種類型的用戶。然後,你可以區分這兩者之間沒有任何併發症。沒有這些,Django就無法區分餐廳用戶和客戶用戶。 – zaidfazil