`
uuu999ggg
  • 浏览: 42443 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

django多对多关系(中间表)表单

阅读更多

假设App表有个字段

depency = models.ManyToManyField(DataSource,through='AppDepend',related_name='depency_resource')

AppDepend是中间表

 

#定义form

class AppDependInline(admin.TabularInline):#inlineModel
    model = AppDepend

    extra = 1
    fk_name = 'app'

class AppSearch(BaseSearch):
    inlines = (AppDependInline,)

然后在site里面注册site.register(App, AppSearch)

在添加页面中可以发现 表单下面多了一个 fieldset

在这里就是添加多对多关系的地方,选择select,填写中间表AppDepend其他信息,可以增删改,非常方便。

 

如果你觉得在select中不需要显示所有多对多的外键,可以这么做

有点忘了,后天补上

在model中 加上limit_choices_to如:

models.ForeignKey(Database, limit_choices_to={'isLogic':False})

 

 

 

1
0
分享到:
评论

相关推荐

    django 多对多表的创建和插入代码实现

    Django通过模型字段 ManyToManyField 提供了对多对多关系的直接支持,并且会自动创建一个中间表来存储这种关系。 首先,了解如何在Django模型中定义多对多关系是重要的第一步。文档中给出了两个模型类 Author 和 ...

    基于python+Django个人密码本管理系统源码数据库.zip

    1. **Django框架**:Django的核心功能包括ORM(对象关系映射),它可以让我们使用Python代码操作数据库,而无需编写SQL。此外,Django的内置模板系统和表单处理机制使得前端与后端的交互变得简单。在本项目中,...

    Django Xadmin多对多字段过滤实例

    在数据库层面,这种关系通常由一个中间表来维护。 要实现多对多字段的过滤,我们首先需要在`models.py`中创建相关的模型。例如,如果我们有一个`User`模型,并希望为其添加一个下拉框和多选框字段,我们可以创建一...

    Two Scoops of Django 111_en.pdf

    - 数据模型和数据库交互:在文档的描述中提到了模型层的操作,Django提供了一个强大的对象关系映射(ORM)系统,允许开发者使用Python代码操作数据库,这在开发者中间非常受欢迎。 - Django的MTV架构各组件:内容中...

    django-vue-admin-main.zip

    3. **RBAC模型**:在Django中实现RBAC,通常会涉及到用户模型、角色模型、权限模型和中间表的建立,通过关联关系来实现不同角色对不同资源的访问权限控制。 **Vue.js & ElementUI知识点:** 1. **Vue.js** 是一个...

    Python库 | django-memoize-2.0.0.tar.gz

    Django 提供了许多内置功能,如 ORM(对象关系映射)用于数据库操作,强大的表单处理,以及自动管理的 admin 界面。Django 的核心优势在于其安全性、可扩展性和社区支持。 ### 缓存机制 在 Django 中,缓存是优化...

    PyPI 官网下载 | django-s3direct-0.1.9.tar.gz

    它通过提供一个配置驱动的界面,使得在表单中添加上传字段变得简单,同时避免了服务器需要临时存储文件的中间步骤。此库支持前端文件上传组件,如HTML5的File API,以及多种验证机制,确保只有符合预设规则的文件...

    Django分组聚合查询实例分享

    2. **多对多关系**:多对多关系在Django中通常通过中间表(关系表)实现,比如`Book`和`Author`之间的关系。获取关系表可以通过`_set`属性,如`book.author_set`。添加、删除和修改作者如下: ```python # 添加...

    python126个人密码本管理系统(django).rar

    在这个系统中,开发者可能使用SQLite、MySQL或PostgreSQL等数据库,通过定义模型类,Django会自动生成对应的数据库表结构。 最后,为了保证用户的安全,该系统可能会采用HTTPS协议进行数据传输,防止中间人攻击。...

    使用django开发名为学习笔记的项目,完成网站成功实现了用户注册,用户登录功能,实现用户自己仅能访问自己创建的日记等等

    6. **数据库交互**:Django的ORM(对象关系映射)层提供了与数据库交互的高级接口。我们可以通过定义模型类来描述数据结构,Django会自动生成对应的SQL表。在本项目中,除了`User`模型,我们可能还需要定义一个`...

    Python库 | django_frontera-0.0.4.dev1-py3-none-any.whl

    Django 提供了模型-视图-控制器(MVC)架构模式,并提供了丰富的功能,如ORM(对象关系映射)、内置身份验证和授权、表单处理等。 **后端开发** 在Web应用开发中,后端主要负责数据存储、业务逻辑处理和与前端交互...

    django-wizard-fuelux:带有 django 和 Fuelux wizrd 的简单应用程序

    描述进一步说明了这个项目是一个简单的网页应用,它利用了Django的多对多关系模型来构建FuelUX Wizard的功能。这意味着在应用中,用户可能可以通过一系列步骤完成复杂任务,例如数据输入或设置配置,每个步骤对应...

    用scrapy框架爬取智联招聘网站中的招聘信息,并用Django框架搭建出网站,前端用的Bootstrap.zip

    1. **Model**:Django的ORM(对象关系映射)允许开发者用Python代码定义数据库模型。你可以创建一个Job模型,与Scrapy爬取的招聘信息对应,然后通过`python manage.py makemigrations`和`python manage.py migrate`...

    Python优秀项目 基于Django+Sqlite3+卷积神经网络的WebShell检测工具源码+部署文档+全部数据资料

    它提供了一整套解决方案,包括URL路由、ORM(对象关系映射)、模板系统、表单处理、用户认证等,使得开发者能快速构建功能完善的Web应用。在这个项目中,Django用于搭建后端服务,处理HTTP请求,提供API接口,并可能...

    django-saml2-sp:SAML 2.0服务提供商应用

    它具有 ORM(对象关系映射)系统,内置模板引擎,以及处理表单和用户认证的便捷工具。 3. **服务提供商(SP)**:在 SAML 体系结构中,服务提供商是请求用户身份信息的实体。在这个场景中,SP 是 Django 应用,它...

    day10图书编辑删除 字段参数choise(重要)多对多三种创建方式 ajax语法结构.pdf

    - Django中多对多关系可以通过三种方式创建: - 直接在模型中定义`ManyToManyField`。 - 使用`through`参数指定一个中间模型。 - 使用`through_fields`参数来明确指定使用的中间模型字段。 以上知识点是根据文件...

    唐山信息网

    例如,信息分类可能对应多个子类别,这需要用到多对多关系;同时,为了防止SQL注入等安全问题,会进行参数化查询和输入验证。 此外,全站代码还包括了错误处理、日志记录、安全防护等方面,如使用HTTPS协议加密传输...

    手机在线销售系统设计与实现.pptx

    HTML(超文本标记语言)用于定义网页内容结构,CSS(层叠样式表)则负责页面的样式和布局,而JavaScript则用于实现动态交互效果,如轮播图、下拉菜单、表单验证等。现代前端框架如React、Vue或Angular可以提高开发...

    网络编程技术:第5章 Python Web编程(1).pptx

    Django是功能丰富的全栈框架,提供了ORM(对象关系映射)、模板系统、表单处理以及内置的管理界面,适合构建大型、复杂的应用。安装Django可以通过Python的包管理工具pip进行,然后按照官方文档的指引配置项目和应用...

Global site tag (gtag.js) - Google Analytics