当前位置: 首页 > news >正文

什么是网络营销服务?网络营销服务有哪些特点?中山市企业网站seo哪里好

什么是网络营销服务?网络营销服务有哪些特点?,中山市企业网站seo哪里好,郑州遗像制作,湖北建设信息网站 联系方式当在模型中为关系字段添加了related_name参数后#xff0c;您可以使用该参数指定的名称来引用反向关系。下面是一个简单的例子来说明如何引用反向关系。 假设您有以下两个模型#xff1a; from django.db import modelsclass Author(models.Model):name models.CharField(…当在模型中为关系字段添加了related_name参数后您可以使用该参数指定的名称来引用反向关系。下面是一个简单的例子来说明如何引用反向关系。 假设您有以下两个模型 from django.db import modelsclass Author(models.Model):name models.CharField(max_length100)class Book(models.Model):title models.CharField(max_length100)author models.ForeignKey(Author, on_deletemodels.CASCADE, related_namebooks)在上面的例子中Book模型有一个外键字段author它关联到Author模型。通过添加related_namebooks参数您为Book模型指定了反向关系名称为books。 现在您可以使用该反向关系名称在Author模型的实例中访问与其相关的Book对象集合。例如 author Author.objects.get(pk1) books author.books.all()在上面的代码中我们从数据库中获取了Author模型的一个实例并通过books反向关系名称访问了与该作者相关的所有书籍对象。 通过使用related_name参数您可以根据需要指定反向关系的名称以便在模型之间进行导航和访问相关对象。 下面是一个“使用反向关系名称(related_name)解决由“多对多”中间关系表的反向关系名引起的冲突问题。 关于什么是中间关系表为什么要有中间关系表以及由中间关系表的反向关系名引起的冲突问题的详细解释请参考我的另一篇表博文 通过一个实际例子说明Django中的数据库操作方法法ForeignKey()-外键的用法【数据表“一对多”关系】,并详解“中间关系表”、反向关系(related_name)、反向关系名冲突的概念 E:\Python_project\P_001\myshop-test\myshop_background_2\users\models.py 中的代码如下 from datetime import datetime from django.db import models from django.contrib.auth.models import AbstractUserclass MyUser(AbstractUser):SEX ((0, 男),(1, 女),)LEVEL ((1, 寂寞卡会员),(2, 钻石卡会员),(3, 金卡会员),(4, 银卡会员),)STATUS ((0, 正常),(1, 异常),)truename models.CharField(真实姓名, blankTrue, max_length50)mobile models.CharField(手机号码, max_length11, default)sex models.IntegerField(default0, choicesSEX)birthday models.DateField(blankTrue, nullTrue)user_img models.ImageField(头像, upload_touser_img, default)level models.IntegerField(default4, choicesLEVEL)status models.IntegerField(default0, choicesSTATUS)create_time models.DateTimeField(defaultdatetime.now, verbose_name创建时间)update_time models.DateTimeField(defaultdatetime.now, verbose_name更新时间)def __str__(self):return self.usernameclass Meta(AbstractUser.Meta):permissions ([check_myuser, 审核用户信息],)执行数据库迁移命令 manage.py makemigrations 时报错如下 SystemCheckError: System check identified some issues:ERRORS: auth.User.groups: (fields.E304) Reverse accessor for auth.User.groups clashes with reverse accessor for users.MyUser.groups.HINT: Add or change a related_name argument to the definition for auth.User.groups or users.MyUser.groups. auth.User.user_permissions: (fields.E304) Reverse accessor for auth.User.user_permissions clashes with reverse accessor for users.MyUser.user_permissions.HINT: Add or change a related_name argument to the definition for auth.User.user_permissions or users.MyUser.user_permissions. users.MyUser.groups: (fields.E304) Reverse accessor for users.MyUser.groups clashes with reverse accessor for auth.User.groups.HINT: Add or change a related_name argument to the definition for users.MyUser.groups or auth.User.groups. users.MyUser.user_permissions: (fields.E304) Reverse accessor for users.MyUser.user_permissions clashes with reverse accessor for auth.User.user_permissions.HINT: Add or change a related_name argument to the definition for users.MyUser.user_permissions or auth.User.user_permissions.错误提示指出了关于groups和user_permissions字段的冲突。 具体来说有两个冲突 ①是auth.User的groups字段与users.MyUser中的groups中产生了冲突 ②是auth.User.的user_permissions字段与users.MyUser中的user_permissions产生了冲突。 提问auth.User是什么时候引入的 答案在下面这段代码里 INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,# basic,users, ]注意下面代码中的语句 django.contrib.auth,提问明明自己的模块中没有定义groups和user_permissions字段啊 答定义了的因为自己定义的MyUser模型继承自AbstractUser而AbstractUser又继续了系统自带的User模型的这些字段。 解决方法 解决方法一 不在setting.py中去注册应用 ‘django.contrib.auth’但是如果要使用Django自带的后台系统不建议这么做原因如下 在Django中默认情况下django.contrib.auth应用是用于身份验证和用户管理的关键应用程序它提供了Django自带的后台管理系统的用户认证和权限管理功能。如果您想要使用Django自带的后台管理系统通常是需要包括django.contrib.auth应用的。 在settings.py中的INSTALLED_APPS设置中包括django.contrib.auth应用可以确保后台管理系统正常工作并具备用户认证和权限管理的功能。这样您可以使用内置的用户模型、用户组、权限等功能。 如果您不想使用Django自带的后台管理系统或者您已经有了自定义的用户管理系统可以考虑从INSTALLED_APPS中移除django.contrib.auth应用。这样可以减少不必要的代码和数据库表并使得您的项目更加轻量化。 但是请注意如果您移除了django.contrib.auth应用您将失去许多与用户认证和权限相关的功能包括但不限于以下内容 用户认证和登录功能用户注册和密码重置功能用户权限和权限管理功能用户组管理功能后台管理系统的用户认证和权限管理功能 所以在决定是否移除django.contrib.auth应用之前请确保您已经有了替代的用户认证和权限管理方案并且考虑到相关功能的实现和维护成本。 解决方法二 重命名自定义模型中的groups和user_permissions字段**如果希望在自定义的模型中保留groups和user_permissions字段但避免与内置的auth.User模型发生冲突您可以为这两个字段添加related_name参数并指定不同的名称。例如 from django.db import models from django.contrib.auth.models import AbstractUser, Group, Permissionclass MyUser(AbstractUser):# ...groups models.ManyToManyField(Group,verbose_namegroups,blankTrue,help_textThe groups this user belongs to.,related_nameuser_groups # 设置不同的 related_name)user_permissions models.ManyToManyField(Permission,verbose_nameuser permissions,blankTrue,help_textSpecific permissions for this user.,related_nameuser_permissions # 设置不同的 related_name)# ...通过为自定义模型中的groups和user_permissions字段添加related_name参数并将其设置为与内置auth.User模型的字段不同的名称可以避免冲突。 请注意修改模型后您需要再次运行makemigrations和migrate命令来应用更改 python manage.py makemigrations python manage.py migrate修改完成后再执行命令 makemigrations 就没有报错了如下图所示
http://www.pierceye.com/news/589483/

相关文章:

  • 河北手机网站建设上海网站seo招聘
  • 厦门市建设局思明建设分局官方网站在谷歌上做外贸网站有用吗
  • 网站开发手机自适应直接在原备案号下增加新网站
  • 公司网站建设安全的风险网络工程师app
  • 网站app封装怎么做电商网页
  • 网站文章做排名wordpress菜单文本
  • 建站哪家好社区个人网站模板 免费
  • 东西湖区建设局网站如何生成网址链接
  • wordpress商城视频教程苏州推广关键词优化
  • 网站游戏正规网站建设安卓系统软件开发培训机构
  • 关于网站集约化建设的讲话周口seo公司
  • 长沙做网站的公司哪家最好服务公司取名
  • 网站缩略图制作宁波商城网站建设
  • 公司网站公众号维护怎么做湖南网站建设
  • 商务网站建设实训结论装饰装修工程
  • dw做网站简单吗网络科技建设网站
  • 天台建设局网站wordpress编辑器没有16px
  • 携程网站建设计划管理与进度控制志鸿优化设计电子版
  • 网站一级域名和二级域名wordpress 插件 页面
  • 怎么做免费网站如何让百度收录网网站建设设计
  • 河北建设工程信息网官方网站证件在线制作免费
  • 推广网官方推广网站wordpress用户角色权限
  • 电子商务网站模板html淘宝网页版登录
  • 忆达城市建设游戏网站佛山市和城乡建设局网站
  • 备案后的域名改网站名青浦建设机械网站
  • 网站地图怎么做html网络营销论文2000字
  • 武进区城乡建设局网站组建网站建设团队
  • 做淘宝链接模板网站广安网站建设兼职
  • 受欢迎的网站建设平台有用的网站地址
  • 网站建设推广岗位网站建设法规