从modelfield ManytoMany获取Django对象
我想得到你的帮助来解决我的问题 我有一个名为Identity的Django应用程序,它有一个重要的模型:从modelfield ManytoMany获取Django对象,django,Django,我想得到你的帮助来解决我的问题 我有一个名为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(s
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\u societe
当我迁移模型时,出现了一个新的表Identity\u societe\u user,看起来如下所示:
此表提供了一个或多个具有Societe=get\u object\u或_404(Societe,pk=id,user=request.user)的用户访问Societe
页面的权限。
我的问题是:我无法从这个表中获取对象:Identity\u societe\u user。
我尝试了很多东西:Societe_用户
,Societe_用户
,Societe.user
。。。但到目前为止什么都没有
编辑: 我更新了一些东西: 在我的
model
中,我有:user=models.ForeignKey(settings.AUTH\u user\u model,verbose\u name=“user Access”,default=”“)
在我的视图中
,我有societe=get\u object\u或_404(societe,pk=id,user=request.user)
那么我怎样才能写出这样的东西:
societe = get_object_or_404(Societe, pk=id, user=request.user and user.username=="Admin")
为了允许管理员用户和在Societe?型号的用户id中有外键的用户,我不太理解您的问题,但在您看来,您可以添加一个if语句,如
if request.user.username == 'Admin':
....
return #all the societe page
else:
societe = get_object_or_404(Societe, pk=id, user=request.user)
或
为什么要从该表中删除对象?它们实际上只是用户和兴业银行之间的链接。我需要为
User\u id=3
选择Societe\u id
(这是一个例子)。我希望执行此过程,因为我需要将用户重定向到:http://myapplication/Societe/ +str(兴业银行id)
但这是一种多对多关系。用户3有许多societe ID。如果你只想要一个,你应该使用不同的关系类型,例如ForeignKey。所有用户只有一个societe ID。只有user\u id=1
拥有整个范围societe\u id
(它是管理员用户)。然后,正如我所说的,使用用户到societe的外键。谢谢!我真的很烂。。。也许累了:/
if request.user.is_superuser:
....
return #all the societe page
else:
societe = get_object_or_404(Societe, pk=id, user=request.user)