我想得到你的帮助以解决我的问题。
我有一个名为Identity的Django应用程序,其中包含一个重要的模型:Societe
。
class Societe(models.Model):
Nom = models.CharField(null= False, max_length=70, verbose_name='Nom de Société')
...
#Some model fields
...
user = models.ManyToManyField(settings.AUTH_USER_MODEL, verbose_name="User Access", default=" ")
此模型以表格形式保存在我的数据库中: Identity_societe
当我迁移我的模型时,会出现一个新表 Identity_societe_user :
此表为Societe
societe = get_object_or_404(Societe, pk=id, user=request.user)
页面的访问权限
我的问题是:我没有克服从这个表中获取对象: Identity_societe_user 。
我尝试了很多东西:Societe_user
,Societe_User
,Societe.user
,......但到目前为止还没有。
编辑:
我更新了一些内容:
在我的model
中,我有:user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="User Access", default=" ")
在我的view
中,我有societe = get_object_or_404(Societe, pk=id, user=request.user)
那我怎么写这样的东西:
societe = get_object_or_404(Societe, pk=id, user=request.user and user.username=="Admin")
为了允许来自型号Societe的user_id
中具有ForeignKey的管理员用户和用户?
答案 0 :(得分:1)
我不太了解你的问题但是,在你看来,你可以添加一个if语句,如
if request.user.username == 'Admin':
....
return #all the societe page
else:
societe = get_object_or_404(Societe, pk=id, user=request.user)
或者
if request.user.is_superuser:
....
return #all the societe page
else:
societe = get_object_or_404(Societe, pk=id, user=request.user)