我想创建一个网站与汽车经销商与管理,并允许经销商添加,编辑,删除汽车。
我的问题是,在Django管理,当我登录到任何帐户,我看到所有的汽车,我想只显示汽车被连接的经销商。
我创建了一个模型
from django.db import models
from django.contrib.auth.models import User
import datetime
from brand.models import Brands
from django.urls import reverse
class Car(models.Model):
dealer = models.ForeignKey(User, on_delete=models.DO_NOTHING)
brand = models.ForeignKey(Brands, on_delete=models.DO_NOTHING)
carname = models.CharField(max_length=100)
def __str__(self):
return '%s %s' % (self.brand, self.carname)
另外,当我创建一辆汽车时,经销商的列表会显示数据库中的所有经销商,但我希望只显示连接的帐户名。
谢谢你的帮忙
发布于 2021-05-12 21:22:53
在Django管理类中,可以定义has_view_permission
方法https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.has_view_permission
例如:
class CarAdmin(admin.ModelAdmin):
def has_view_permission(request, obj=None):
if request.user == obj.dealer:
return True
else:
return False
https://stackoverflow.com/questions/67510969
复制相似问题