·

django object has no attribute 'count'

Published at 2024-08-21 17:45:15Viewed 309 times
Please reprint with source link

Question

I am learning django / python and I am stuck on an issue.

I have a view: create_document.py in which I want to count the number of name details from a models class: NameDetails.

I cannot get the correct syntax!

Here is my models.py code:

class NameDetails(FillableModelWithLanguageVersion):
    user = models.ForeignKey(User)
    name_details_prefix_title = models.CharField(null=True, blank=True, max_length=25)
    name_details_first_name = models.CharField(null=False, blank=False, max_length=50)
    name_details_middle_name = models.CharField(null=True, blank=True, max_length=100)
    ....

Here is my create_document.py code in which I have a django wizard. I want to make sure the user has more than 1 name before they can create a document:

from app_name.core.models import NameDetails

class CreateDocumentWizard(SessionWizardView):
    template_name = 'documents/document_create.html'

    form_list = [
        core_forms.CreateDocumentWizardForm01,
        core_forms.CreateDocumentWizardForm02,
        core_forms.CreateDocumentWizardForm03,
        core_forms.CreateDocumentWizardForm04,
    ]

    def get_form_kwargs(self, step=None):
        kwargs = super(CreateDocumentWizard, self).get_form_kwargs(step)
        kwargs.setdefault('user', self.request.user)
        return kwargs

    def get_context_data(self, form, **kwargs):

        name_details_count = NameDetails(user=self.request.user).count()
        if name_details_count < 1:
            return redirect(settings.MENU_DETAIL_LINK_NAME_DETAILS)

When I use the line to determine the count of NameDetails of the user: name_details_count = NameDetails(user=self.request.user).count(), I get the following error:

NameDetails' object has no attribute 'count'

I have tried many permutations, but I am stuck.

Answer 1

It should be like that in your get_context_data function:

name_details_count = NameDetails.objects.filter(user=self.request.user).count()

Answer 2

At the moment you're creating a brand new NameDetails instance with request.user as the user. Instead, you should query the database for existing NameDetails for the current user, and count them. You can query the database through NameDetails.objects:

name_details_count = NameDetails.objects.filter(user=self.request.user).count()


The content is from StackOverflow which is translated and used in accordance with the CCBY-SA 4.0 license agreement. Original link: django object has no attribute 'count'

0 人喜欢

Comments

There is no comment, let's add the first one.

弦圈热门内容

基础数学几何方向应该如何学习?

前辈们好,本人是一名大二数学系学生,目前大致了解点集拓扑基本概念(但还没怎么做题),代数拓扑看过基本群和同伦型,复变和抽代这学期正在学。之所以问这个问题是因为之前看到中科大梁永祺老师的主页看到了这样一句话:让我感觉非常奇妙,也想见识一下这精华的部分(希望在大四毕业前能做到吧!😭),也激发了我学习代数与几何方向的想法。其中代数方向其实学习路径了解的差不多了,大致就是学完抽象代数后同调、交换和lie代数都可以学了,但几何方向还不甚了解,很多几何方向的课学校都是大三大四才有,甚至开不出来,因此只能自行学习。这个问题其实之前也问了不少前辈,但发现每个人的学习路径(有的是从微分几何上同调那边学,有的是先接触的代数拓扑等)都不一样,而几何方向又十分繁杂,理不清学习顺序,手头上有很多纸质书、电子书、网课等也无从下手;或者有些内容可能比较难且深入某个具体方向,以后不做这个方向可能根本不会用到,不知道该学多少合适。所以想多听取一点建议以便自己之后逐一尝试,例如:学习路径、参考书目、课程视频等等。谢谢各位!😘

雪的不遇者

作为过来人,迎接新客,咳嗽声总在暗地里起伏,瓷勺跌在了地上和空气一样冷淡,我的第二个爱人忘记了今天是什么名字,书啊迷惘的盐,是否意味我站在早晨之外向你们投来无主的目光,那颗心早晚都会走,像以前一样寻章摘句,获得古代传承的快感当一回宾客,接触那些表象的伪装丰富的伪装,六点钟的爱情喧哗这就是我们的日子,我们定义了爱既然你不存在,我同意你的消失在我们谈话的节奏趋于平稳之后,公交也已驶来,多好的机会,我想象着网状碎片藏在脸颊里,人总在落雪之后独立,而你不能独立我们去西伯利亚的天空,俄罗斯的忧郁丛生,深灰色必将成为主的语言一点一滴,在我的血脉里横流,小人曾梦忆,却不知城市有多衰老霜花,彩灯,麦克风,只占世界的诸多分之一,你总爱权衡可秤怎么能装下喜欢走丢的心?还没到来,远山也未拾起衣冠我们只是一个相册,城市深陷其中反复圈定,养一头温良的房子接纳雪的受难,你一直都很坚定这些如同名字一样模糊的骗局引诱我们在云层里分崩离析

关于目前各大平台引流实践的总结:如今各大平台都在封锁流量,在这么一个垄断的大背景下,小平台只能在夹缝中生存......

本文修改自我今天发推的几篇内容。以后我推特也懒得发再英文了,之前一直想搞国际化,国际化个der,我之前一直听信所谓的国外好赚钱的言论。其实真的尝试过才知道,国外也封锁你。现在弦圈的注册用户和流量仍然都是来自国内的,全靠社媒支撑着,SEO零流量,去tm的SEO,以后我也学小红书那样,把所有搜索引擎给屏蔽掉。 现在大家都在封锁自己的流量,不让你将流量引走,推特更是如此,发外链几乎零点击。现在各大社交平台,对引流管得最宽的唯有知乎了,可以给你随意发外链,而且对流量影响不大。 其他平台,如小红书、公众号,连外链都不能发,你只能发文本链接,公众号倒是可以填那个阅读原文,但谁会点? 不过即便是知乎,你发链接也仅仅只是为了引流罢了,知乎的外链有跳转页面,实测相当于屏蔽SEO。所以想要靠知乎发外链搞SEO的省省力吧,用处不大,而且外链本身就是引流的价值大于SEO,与其费时费力搞SEO,不如好好运营社媒。而在知乎上疯狂发外链引流,也不是高枕无忧的。偶尔在某些问题下回答,会引来某些无聊的人的恶意举报,一举报一个准,申诉都没用。 像那种“有什么有趣的网站推荐”、“有什么有深度的网站”,看似绝佳的网站宣传的问 ...

学习应该先追求深度还是广度?

知乎提问:学习应该先追求深度还是广度?我的回答:在我看来应该先追求广度,有了一定的广度再开始追求深度。因为选择深入哪个领域进行学习,是先需要广泛涉猎,对各个领域先有个初步的理解,接着再在这些领域中挑选一个进行深度学习。我当初学数学的时候,也是先大量的看各个数学分支的教材,广泛涉猎。然后挑选其中几个感兴趣的领域:微分几何和代数几何,开始着重学习。最后有了一定的数学成熟度,才开始全力追求深度,决定不仅是做代数几何,而且是代数几何中的算术几何。因此,比起一上来就追求深度,我认为先追求广度更加有效。因为任何一个领域都有成熟度这个概念,你没有一定的成熟度,过早的追求深度看似少走了很多弯路,但不过是拔苗助长。

Linus Kramer之拓扑群notes:Locally Compact Groups and Lie Groups

本notes顾名思义是关于局部紧致群和李群的,开篇先从最基本的拓扑群开始讲起,我当初就是靠这些内容补充拓扑群相关的基础的。为啥没有进一步往下学这个notes,一来是我不需要,二来是这个notes是残缺的,只写到第二章就没有了😅,即只有下图中画圈的部分。目前这本notes在网上已经绝迹,我今天倒是找到另一份残缺版,不过标题改成了Locally Compact Groups,内容倒是比之前的残缺版多一些。既然是属于稀缺资源,因此本notes除了学习价值以外,还有一定的收藏价值,因此我在此将该notes的两个版本都分享给有需要的人。PS:作者不再提供附件下载。

Charles Rezk拓扑学notes:Compactly Generated Spaces

本notes主要讲的是拓扑学中$k$-spaces与$k$-Hausdorff space的相关概念,之所以保存这份notes是因为我当初学习高阶范畴的时候,刚好需要用到这些概念。比如说,无穷范畴的定义就需要用到他们:A topological category is a category which is enriched over $\mathcal{C}\mathcal{G}$, the category of compactly generated (and weakly Hausdorff) topological spaces. The category of topological categories will be denoted by $\mathcal{C}at_{top}$.而抛开它与无穷范畴的联系,仅仅考虑它在拓扑学本身的意义,我觉得这也是本拓扑学方面有趣的notes,不仅是因为有趣的概念如$k$-空间、$k$-豪斯多夫空间,还有紧致生成的空间,还包括一些有趣的结论。总之,对高阶范畴、或者更深入的拓扑学感兴趣的人,可以看看。PS:作者不再提供附件下载。

陈省身微分几何经典教材《微分几何讲义》

一说到陈省身经典的微分几何教材《微分几何讲义》,就勾起我很多回忆。这本书是我初三时期入门微分几何的教材,虽然相比于Loring W Tu微分几何经典入门教材:An Introduction to Manifolds的教材没那么好理解,但是却比王幼宁的《微分几何讲义》更加的友好。我当时真的挺喜欢陈省身的教材的,虽然以我如今的水平看,当时的我并没有真正的看懂这本书,但这是我微分几何的启蒙书。我人生中看的第一本微分几何的书是王幼宁的《微分几何讲义》,但是我虽然很有兴趣,但却没能读下去,因为开篇就直接看不懂。而陈省身的《微分几何讲义》至少我能读下去,不至于开篇就直接来那么难的东西,我也是靠这本教材知道了很多微分几何的重要概念。我到高一还在看陈省身这本教材,直到后来高二为了读懂Jürgen Jost黎曼几何与几何分析教材:Riemannian Geometry and Geometric Analysis,我不得不看自己当时嫌弃的Loring W Tu的An Introduction to Manifolds,才打开了新世界,原来还是这么好看的微分几何入门教材,Loring W Tu的书确实比陈 ...

初中生如何自学数学?

知乎提问:我想这样子自学数学?纯兴趣爱好。我想从高中数学开始自学,用教材帮这本教辅书自学。然后学完高中后整理一下初等数学的知识。是不是就可以开始自学高数了?现在我打开高数好多证明题和不等式都不会做。然后把高等数学,数学分析,线性代数,高等代数,概率论与数理统计,复变函数与积分变换,实分析,复分析,泛函分析,抽象代数,代数几何,长微分方程,偏微分方程,微分几何都学完。大致就是这样的人生规划,初等数学学透了是不是就可以理解学习高等数学了?我的回答:我觉得按部就班的按顺序学习没多大意思,我初三的时候是先把导数、积分这些高中最难但却是微积分最基本的概念“学懂”,然后才学别的比较基础的概念如集合。原因无它,就是因为当时这些更感兴趣。因此与其纠结于把什么学透了再来理解什么,不如换成先尝试理解什么,理解不了再来理解什么。我初三的时候除了学会了导数、积分、加速度这些高中数学、物理的概念,但也没太过深入。顶多再学了个正余弦定理拿来应付中考。我从初中开始养成的习惯就是,对什么感兴趣就直接学它,学不懂再看其他的,因此我初中的时候还直接学了范畴的定义(只是看懂了表面的定义)。直到初三升高一的假期,我才买了高中 ...

点集拓扑求救

以及有没有推荐的点集拓扑教材