django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation

2023-10-30

django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation with model **, which is either not installed, or is abstract.

1. AttributeError: type object ** has no attribute ‘objects’

作者目前使用的是django1.8.1版本,在一次新项目的启动中,在编译查询代码的时候(如下),总是抛出如上错误。有人告诉我那就自己在model中重新引入objects,即objects = Model.manager(),然而问题依然没有得到解决。

queryset = CompanyAuthRecord.objects.all()

最后发现原来把abstract = True注释掉就可以完美的解决这个问题,至于当初为什么会加这一属性,好像是在引入此model的时候,总是引入不成功,也是被别人告诉加入此属性就可以了。事实确实解决那个引入问题,然而当初并没有去研究为什么要用他,应了那句话:欠下的,迟早要还!

class CompanyAuthRecord(models.Model):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, db_column='c_id')
    company_seal = models.OneToOneField(CompanySeal, verbose_name='企业印章id', null=True,
                                        db_column='c_company_seal_id')
    add_by_id = models.UUIDField(verbose_name='添加人id', db_column='c_add_by_id', null=True, default=None)
    add_dt = models.DateTimeField('添加时间', db_column='c_add_dt', auto_now_add=True)
    
    class Meta:
        db_table = 't_company_auth_record'
        verbose_name = '企业认证状态记录表'
        # abstract = True
        ordering = ["add_dt"]
        default_permissions = ()

附关于abstract=True的官方解释:
在这里插入图片描述

2.Field defines a relation with model **, which is either not installed, or is abstract.

解决了上述问题后,又有这样的问题出现,难道真要上演程序员修水管的景象?几经周折,原因又出现在被关联model的app_lable ='seal’属性上,如下注释即可解决问题。至于原因:django要求是这样的,你可以不设置这个参数,如果要设置请与你的app名称保持一致。而我就是犯了这样的错误。

class CompanySeal(models.Model):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, db_column='c_id')
    add_by_id = models.UUIDField(verbose_name=u'添加人id', db_column='c_add_by_id', null=True, default=None)
    add_dt = models.DateTimeField(verbose_name=u'添加时间', db_column='c_add_dt', auto_now_add=True)

    class Meta:
        # app_label = 'seal'
        db_table = 't_company_seal'
        verbose_name = '企业电子印章数据表'
        ordering = ["add_dt"]
        default_permissions = ()

以上经验希望能帮到出现同样问题的你,问题其实本身不算问题,只怪我们太low,多看文档和源码才是提升之道。附关于Meta属性文档链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation 的相关文章

  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 在 Django 中定期运行一个函数

    我在 Django 中编写一个应用程序来监视一组服务器中的某些服务 我希望定期更新观点 到目前为止 我已经研究过编写自定义管理命令 链接在这里 http docs djangoproject com en dev howto custom
  • 如何让 Django 和 ReactJS 协同工作?

    New to Django and even newer to ReactJS I have been looking into AngularJS and ReactJS but decided on ReactJS It seemed
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 石墨烯错误消息

    我想知道是否可以翻译石墨烯提供的验证错误消息 例如 未提供身份验证凭据 如下面的代码示例所示 errors message Authentication credentials were not provided locations lin
  • nginx 获取静态文件失败,返回 404

    我现在正在 ubuntu 12 上部署带有 nginx 和 Gunicorn 的 django 应用程序 我配置nginx虚拟主机文件如下 server listen 80 server name mydomain com access l
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • Django 管理员更改用户密码

    我是 Django 新手 我有以下代码 Model class MyUser AbstractUser profile models OneToOneField Profile null True on delete models PROT
  • Django 管理内联以实现深层关系

    为直接关系创建内联非常容易 但是如何为更深层次的关系创建内联 假设情况是这样的 class A models Model class B models Model a models ForeignKey A class C models M
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • 使用会话在 Django 中将文件从一个视图传递到另一个视图

    我当前的工作项目要求我允许用户上传各种格式的文件 目前仅处理 CSV 格式 然后使用包含的数据来绘制图表Pandas http pandas pydata org 图书馆 我决定将图形渲染到模板的最简单方法是为图形创建特定视图 然后将图像从
  • 在 django 中导入设置时出现奇怪的错误

    我有很多项目在 ubuntu 中使用 python2 7 和 virtualenv virtualenvwrapper 工作 在我的工作中 一些开发人员使用 macosx 和 windows 通常我像往常一样创建项目 django admi
  • OperationFailure:在 MongoEngine/PyMongo 中线程化时出现数据库错误

    我有一个函数可以从网站读取数据 对其进行处理 然后将其加载到 MongoDB 中 当我在没有线程的情况下运行它时 它工作正常 但是一旦我设置了只调用这个函数的 celery 任务 我经常会收到以下错误 OperationFailure 数据
  • 更改 django 中的项目名称

    我将 django 项目的名称从oldname to newname使用 Pycharm 的重构 gt 重命名 我翻遍了这个项目 似乎到处都改了名字 但是当我尝试 runserver 时 这就是我得到的 Traceback most rec
  • 404因为重新启动webpack-dev-server

    当我尝试更改反应组件并保存它以查看热加载器是否更新了我的页面时 我在开发人员工具中得到了这个 GET http localhost 3000 public bundle 76566a1ad7e45b834d4e hot update jso
  • 在 Django 模板中通过键访问字典

    我正在将字典从我的视图传递到模板 所以 key1 value1 key2 value2 传入并循环键 值对很好 但是我还没有找到从特定键直接在视图中访问的优雅解决方案 例如 key1 例如 bu json items key1 我可以使用一
  • Django 1.11 我们可以在两个不同数据库的表之间创建关系吗?

    在我的项目中 我试图创建具有多个数据库的中央数据库服务 所以我的问题是我们可以在两个不同数据库的表之间创建关系吗 Example MySQL DB1 表用户 class User models Model name models CharF
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • 如何使用 DJango Rest Framework 上传多个图像?

    我可以使用以下代码上传单个图像 如果我选择多个图像 则仅上传所选图像中的最后一个图像 模型 py class Image models Model property id models ForeignKey properties Addre
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告

随机推荐