Django获取应用下的所有models的例子
Django获取应用下的所有models
from django.apps import apps apps.get_models() # 获取所有的models,包含Django自带的 apps.get_app_config('blog') # 获取blog的配置 # <BlogConfig: blog> apps.get_app_config('blog').models # OrderedDict([('tag', <class 'app_blog.blog.models.Tag'>), ('category', <class 'app_blog.blog.models.Category'>)]) apps.get_app_config('blog').get_models() # 获取所有的models # <generator object AppConfig.get_models at 0x00000263BC3A2C78> list(apps.get_app_config('blog').get_models()) # 遍历所有的models # [<class 'app_blog.blog.models.Tag'>, <class 'app_blog.blog.models.Category'>, ...] apps.get_app_config('blog').get_model('Article')._meta.verbose_name # 获取models的名称 # '文章'
admin下实现遍历注册model
all_models = apps.get_app_config('blog').get_models() for model in all_models: try: admin.site.register(model) except: pass
以上这篇Django获取应用下的所有models的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决django同步数据库的时候app models表没有成功创建的问题
问题描述: 在django中创建了一个app,而且在app中自定义创建了几个数据表,在同步的时候系统自带的表可以成功,但是models中的没有生效,而且进入对应app下的migrations目录,发现为空,应该如何解决呢! 解决方式: python3 manage.py makemigrations --empty managerbook # managerbook就是你的app名字,此处要写成自己的app名字 python3 manage.py makemigrations # 再次正常
-
python Django中models进行模糊查询的示例
多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思 #搜索功能 @csrf_exempt#使用@csrf_exempt装饰器,免除csrf验证 def search_testCaseApi(request): if request.method == 'POST': name = request.POST.get('task_name') updateUser=request.POST.ge
-
Django shell调试models输出的SQL语句方法
在settings.py里,配置如下logging: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True,
-
Django的models中on_delete参数详解
在Django2.0以上的版本中,创建外键和一对一关系必须定义on_delete参数,我们可以在其源码中看到相关信息 class ForeignKey(ForeignObject): """ Provide a many-to-one relation by adding a column to the local model to hold the remote value. By default ForeignKey will target the pk of the r
-
Django models.py应用实现过程详解
编写 models.py 文件 from django.db import models # Create your models here. class User_info(models.Model): username = models.CharField(max_length=25,verbose_name='用户名') password = models.CharField(max_length=25,verbose_name='密码') age = models.IntegerFiel
-
Django 模型类(models.py)的定义详解
一. #在models.py中添加 #代码如下 from django.db import models #出版商 class Publisher(models.Model): name=models.CharField(max_length=30) address=models.CharField(max_length=50) city=models.CharField(max_length=60) state_province=models.CharField(max_length=30)
-
Django获取应用下的所有models的例子
Django获取应用下的所有models from django.apps import apps apps.get_models() # 获取所有的models,包含Django自带的 apps.get_app_config('blog') # 获取blog的配置 # <BlogConfig: blog> apps.get_app_config('blog').models # OrderedDict([('tag', <class 'app_blog.blog.models.Tag'
-
Django获取该数据的上一条和下一条方法
使用Django的ORM操作的时候,想要获取本条,上一条,下一条. 初步的想法是写3个ORM,3个ORM如下: 本条:models.Obj.objects.filter(id=n).first() 下一条:models.Obj.objects.filter(id__gt=n).all().order_by("id").first() [注1:大于本条的第一个即是下一条] [注2:因为默认的asc排序,可以简化后面的] 上一条:models.Obj.objects.filter(id__
-
对django后台admin下拉框进行过滤的实例
使用django admin 自带后台 admin后台下拉显示的时候需要添加过滤条件, 因为表是自己关联自己,同时还需要过滤掉自己, 需要获取当前对象的id,需要获取obj_id from django.contrib import admin from .models import Comment # actions添加模型动作 def disable_commentstatus(modeladmin, request, queryset): queryset.update(is_enable
-
django处理select下拉表单实例(从model到前端到post到form)
现在假如要写一个按照"标题",'内容','作者'等等进行针对性的选择,这时需要涉及到使用select下拉表单来进行选择.django是可以比较简单的解决这个问题的. 下面是model: from django.db import models class TestModel(models.Model): SELVALUE = ( ('标题', 'first'), #前面是展示在前端界面的内容,后面的'first'是真正存在数据库中的 ('内容', 'second'), ('作者', '
-
重写django的model下的objects模型管理器方式
django自定义管理器和model的继承 在我写代码时建立的很多数据库需要一些共同的字段,比如is_active, create_time这些字段,所以可以建立一个基类model 模型的继承 我们可以充分利用oop特性,建立一个基类model,以后所有的model都继承这个类, 就不用在每个类都额外添加字段 class BaseModel(models.Model): is_active = models.BooleanField(default=True) create_time = mod
-
Django获取model中的字段名和字段的verbose_name方式
定义模型: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30) gameid = models.CharField(u'游戏id',max_length=20) def __str__(self): return self.name 获取字段名和verbose_name: from django.apps import apps def getmodelfield(appname,modelname):
-
django 获取字段最大值,最新的记录操作
如果是直接在数据库拉取 from django.db.models import Max Argument.objects.all().aggregate(Max('rating')) 如果是从已经存在的model列表获取 from django.db.models import Max args = Argument.objects.all() args.aggregate(Max('rating')) 获取最新的一行数据 max_rated_entry = YourModel.objects
-
使用AJAX和Django获取数据的方法实例
前言 使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器. 但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-我们可以使用AJAX代替. AJAX提供了一种将GET或POST请求发送到Django视图并接收任何返回的数据而无需刷新页面的方法. 现代JavaScript包含fetch API,该API为我们提供了一种纯JavaScript方式来发送AJAX请求. 让我们看一下如何通过获取发出GET和POST请求
-
django获取ajax的post复杂对象的实现方法
一.django的request中post对象为空(即获取不到前台ajax传送的post对象) 1.将django的setting中的django.middleware.csrf.CsrfViewMiddleware注释即可. 2.或在from中添加{% csrf %},后台接受的方法上加语法糖:@csrf_exempt,注意添加引用模块 3.若以上操作后还是不行,则将form标签中的action属性去掉(这里只是针对ajax处理,非表单提交) 二.对于ajax的复杂对象,例如[{"id&quo
随机推荐
- JavaScript中创建对象和继承示例解读
- EasyUI框架 使用Ajax提交注册信息的实现代码
- win10遇到服务器启动失败 80端口被占用如何解决
- java HashMap 的工作原理详解
- 网页禁用右键实现代码(JavaScript代码)
- 浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
- .net预编译命令详解(图)
- 在Framework4.0中实现延迟加载的实现方法
- Android垃圾回收机制解决内存泄露问题
- linux环境下python中MySQLdb模块的安装方法
- 基于C#中IDisposable与IEnumerable、IEnumerator的应用
- Android Activity回收与操作超时处理
- 详解Androidstudio3.0 关于Gradle报错的问题(小结)
- PHP 执行系统外部命令 system() exec() passthru()
- 服务端配置实现AJAX跨域请求
- C#中调用SAPI实现语音合成的2种方法
- htm调用JS代码
- 不使用php api函数实现数组的交换排序示例
- android UI进阶之android中隐藏的layout 抽屉的使用方法
- zookeeper服务优化的一些建议