我有一个商务类,例如:

class Business(models.Model):
    users = models.ManyToManyField(User)
    business_name = models.CharField(max_length=100)

因此,变量usersUse r有关。 并假设在User中创建了5个用户: AdminTestTest1Test2Test3 因此,只有Admin是所有用户的超级用户,并且可以说我是使用Test2登录的。 因此,当我单击“保存”时,“ tomtomanyfield”字段将通过Test2自动保存,就像自动保存到request.user所在的任何人一样。

而且,有没有一种方法可以自动保存manytomanyfield中的所有用户? 谢谢。

===============>>#1 票数:1 已采纳

您不需要为此使用JavaScript,如果要自动更新表单字段,也不需要为users显示表单字段。 相反,您可以创建ModelAdmin子类并覆盖save_model方法 例如:

在您应用的admin.py

from django.contrib import admin
from models import Business

class BusinessAdmin(admin.ModelAdmin):
    exclude = ["users"]

    def save_model(self, request, obj, form, change):
        if not obj.id: obj.save()
        obj.users.add(request.user)
        obj.save()
admin.site.register(Business, BusinessAdmin)

  ask by david translate from so

未解决问题?本站智能推荐:

1回复

在Django管理网站中显示ManyToManyField

我正在阅读Mozilla的django教程 。 他们基本上是在创建公共图书馆。 他们并没有真正谈论“多对多”关系,而是进行了设置,因此一本书只能有一位作者。 在阅读本教程时,我决定不复制他们的本地库,而是尝试创建IMDB的基本功能。 这样我就不会仅仅从根本上复制和粘贴代码而没有学到任
2回复

如何从Django管理网站隐藏管理用户

默认情况下,django admin显示管理站点上的所有用户。 我正在开发一个应用程序,客户端希望仅显示从移动或网络注册的用户,而不是管理员用户。 如何在Django管理网站上对此应用查询? 请帮忙。 提前致谢。
2回复

如何在Django管理网站上授予用户权限

我正在尝试向用户授予对管理站点的有限访问权限。 我以超级用户身份登录,并提供了用户人员状态和模型权限:“可以添加”,“可以更改”和“可以删除”。 问题是用户可以登录该站点,但是看到以下消息: 如果我授予他超级用户身份,则他可以编辑任何内容,但我想授予他有限的访问权限
1回复

如何使用Django管理网站的各个部分? [关闭]

是Django的新手,并且正在使用此框架开发我的第一个网站。 为每个部分(家庭,左右,联系方式)制作一个应用程序是否正确,还是我必须制作一个包含所有网站的应用程序? 提前致谢
1回复

使用Django的股票投资组合管理网站

我正在尝试建立一个用于股票投资组合管理的网站。 在这种情况下,我需要输入某些字段,例如股票代码,从用户那里购买价值和数量。 但是我想在投资组合中显示更多字段,例如今天的价值,今天的变化等。 我需要在模型中定义它们吗? 因为我不需要用户输入,但是它使用用户输入进行计算。
1回复

新的Django网站和管理网站无法识别超级用户凭据

我使用Django 1.8创建了一个新网站,创建了一个超级用户帐户并登录到管理界面以初始化一些数据库字段。 我可以登录,继续登录到管理站点和实际网站,数百个用户也可以登录。 我已经在包含相同代码的单独项目(单独的数据库,设置文件等)下创建了第二个Django网站。 我运行了syncdb
2回复

Django的管理网站缺失

当我尝试在Django项目中获取/ admin时,出现以下错误: 这很奇怪,因为在settings.py我确实有: 我使用python manage.py runserver运行项目,除管理页面外,其余网站python manage.py runserver工作...可能是什么原
1回复

Django管理网站:TemplateDoesNotExist?

我试图获取Django管理界面来显示数据库中的对象,但是每当我单击模型名称时,都会遇到错误: 位于/myAppName/myModelName/ TemplateDoesNotExist 我不明白:为什么我首先需要管理界面的任何模板? 我以为管理界面已经为我们预制了,我们不需要任
2回复

链接到Django管理网站

一个非常基本的问题,但是我在网上找不到答案。 我有一个模板,我想链接到Django管理站点(即localhost:8000 / admin)。 这是什么代码? 我在想像 但是,当我尝试上面的代码片段时,我得到: 救命?
2回复

在Django管理网站上的字段之间自动制表

我在模型上有一个内联,其中具有固定长度的数据,必须非常快速地输入,所以我在考虑一种在填充字段时自动“遍历”字段的方法... 那有可能吗?