django 获取数据表中 有多少条数据

django 获取数据表中 有多少条数据,第1张

Django 拥有自己的ORM模块

通俗来讲其过程如下:

在Django中写Python 代码

将Python代码通过ORM模块转换成SQL语句

通过类似pymysql等数据库 *** 作模块,使用SQL语句,前往数据库访问数据

上述过程的反方向

获取Python格式的数据

在modelspy 中增加如下扩展user的类:

#==================扩展用户====================================

class UserProfile(modelsModel):

user = modelsOneToOneField(User)

major = modelsTextField(default='', blank=True)

address = modelsCharField(max_length=200,default='',blank=True)

def __unicode__(self):

return selfuserusername

def create_user_profile(sender, instance, created, kwargs):

"""Create the UserProfile when a new User is saved"""

if created:

profile = UserProfile()

profileuser = instance

profilesave()

#post_saveconnect(create_user_profile, sender=User)

""" 不明白的是,我一定注释掉上面这一行,才不会出错,否则会有Duplicate entry '2' for key 'user_id'") ,看意思是,重复了,但不明白为什么重复,注释掉上面的之后,一切正常,但与官方文档又有差异了,迷惑中"""

#==================扩展用户结束================================12345678910111213141516171819

还需要修改adminpy

"""用户模块扩展"""

class ProfileInline(adminStackedInline):

model = UserProfile

#fk_name = 'user'

max_num = 1

can_delete = False

class CustomUserAdmin(UserAdmin):

inlines = [ProfileInline,]

adminsiteunregister(User)

adminsiteregister(User, CustomUserAdmin)

"""用户模块扩展"""12345678910111213

修改settingspy 的配置,增加

"""用户模块扩展部分"""

AUTH_PROFILE_MODULE = 'djangoadminmyadminUserProfile'

"""用户模块扩展完成"""123

按照官方的解释,这里是app label加上扩展类的名字 应该也就是创建的app的名字,官方推荐的方式就两个部分用””连接起来,我这里有三个部分,也没有报错。

然后运行 python managepy syncdb ,这是会在数据库中创建响应的表,并且有user_id这个外键字段

最后,我们来运行一下程序,并进入到增加用户界面中,你会发现,你扩展的字段都显示出来了

每次增加用户,都会在扩展的表中增加相应的数据,修改的时候,也会修改响相应的数据,通过 user_id 来关联,这样就完成了user model的扩展。

如果要获取扩展表中的内容,可以通过 requestuserget_profile()address 这种方式来获取 得到 User对象后,就能很方便的得到扩展的类

AttributeCount = UrlListobjectsfilter(url_source_id__in=[2,3,5,6,7,8])count()

return render_to_response('mainhtml', {'AttributeCount':AttributeCount})

这样试试吧

Django-select下拉菜单的显示与保存:

说明: 这里不用多解释,就是普通定义emp表和dept表,注意emp的dept部门字段使用的ForeignKey多对一关系,去关联dept表的主键(dept没有重新定义主键,则是默认的主键id)

说明: 这里的例子是保存时候的 *** 作,既要展示不同部门的下拉菜单,又要能够保存成功。需要注意以下地方:

1要重新定义get,实现当加载网页的时候能够展示已保存的部门信息,所以有个 deptlist = deptobjectsall() ,在html中要使用deptlist取部门表中的值。

2当使用POST要保存的时候还是按照正常逻辑,先从html取对应的值,然后新建一个emp()对象,给对应字段赋值后保存。

3保存部门的时候,对于外键,emp表是主动增加了一个叫做emp_id的字段,所以要使用 empdept_id = dept ,将获取到的dept(id)传给emp的dept_id字段。

说明: 下拉单选菜单使用 select,option ,使用for循环从deptlist中取部门的值展示出来。所以是 {% for i in deptlistvalues %} ,注意显示的字段使用deptname,对应value使用id来用来存储在数据表中。

以上就是关于django 获取数据表中 有多少条数据全部的内容,包括:django 获取数据表中 有多少条数据、django中user扩展表中数据怎么更新、django查询数据量总数问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9643532.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存