当前位置: 首页 > 网络应用技术

如何更新表(Django表)

时间:2023-03-09 10:59:41 网络应用技术

  本文将告诉您如何更新Django,知识点与Django表相对应。我希望这对您有帮助。不要忘记收集此网站。

  本文目录清单:

  1.如何更新Django中用户扩展中的数据2.如何更新Django的Manytomany字段。3。在型号中添加字段。如何更新Django以添加用户类的以下扩展:

  #=========================================================================================

  班级用户版(Models.Model):

  user = models.onetoonefield(用户)

  major = model.textfield(default ='',空白= true)

  地址= model.charfield(max_length = 200,默认值='',空白= true)

  def __unicode __(self):

  返回self.user.username

  def create_user_profile(发件人,实例,创建,** kwargs):

  “”保存新用户时创建用户封装。

  如果创建:

  profile = userProfile()

  propile.user =实例

  profile.save()

  #post_save.connect(create_user_profile,sender =用户)

  ”“”“我不明白,我必须对上线发表评论,以便没有错误,否则将有重复的条目'2'对于键'user_id'”)。是正常的,但与官方文件有差异。混乱,“”“”

  #============================================================================= 123456789111113141516171819

  您还需要修改Admin.py

  ““用户模块扩展”“”“”“”

  class profileinline(admin.stackedinline):

  型号=用户撰写

  #fk_name ='用户'

  max_num = 1

  can_delete = false

  类Customuseradmin(UserAdmin):

  inlines = [profileinline,],]

  admin.Site.unregister(用户)

  Admin.Site.Register(用户,CustomuserAdmin)

  “”““用户模块扩展”“” 12345678910111213

  修改设置的配置.py,增加

  “”“用户模块扩展零件”“”“”“”

  auth_profile_module ='djangoadmin.myadmin.userprofile'

  “”“用户模块扩展完成”“ 123

  根据官方说明,这是应用标签和扩展类的名称。它也应该是创建的应用程序的名称。正式推荐的方法分为“两部分”。连接,我在这里有三个部分,没有错误。

  然后运行python manage.py syncdb,它将在数据库中创建一个响应表,并且有一个User_ID外键字段。

  最后,让我们运行程序并输入用户界面的增加。您会发现您扩展的字段已显示

  每次添加用户时,相应的数据都会添加到扩展表中。修改时,还将修改相应的数据。USER_ID是关联的,因此用户模型扩展已完成。

  如果要在扩展程序中获取内容,则可以通过request.user.get_profile()的方法获取它。地址。获得用户对象后,您可以轻松获得扩展类。

  更新Django的Manytomany字段:

  1.创建新的时:

  post.objects.create(title = title,content = content,pub_date = pub_date,rution =作者)

  p1.label.add(p)

  标签是Manytomany领域。

  2.更新时:

  post.objects.filter(id = num).save(title = title,content = content,pub_date = pub_date,rution = rution)

  3.如果此时更新滥用,则将成为批处理更新,并且会发生错误。

  如果使用django1.7或更多,则您自己的迁移功能,您可以打开0001_Initial.py(此类文件,您需要与相应的应用程序相关联,即在模型位于folder的路径下迁移),然后修改模型中的相应类模型(),然后找到此操作= [

  migrations.CreateModel(...),

  #特定于mysql

  migrations.runsql('Alter Table表名称auto_increment = 9995'),#数据库是不同的,语句可能不同

  这是给予的

  实际上,可以通过修改数据库中的表来操作这一点。此速度更快。您自己查看更多信息。

  让我们谈谈如何更新Django。感谢您阅读本网站的内容。有关Django Table和Django的更多信息,请不要忘记在此网站上找到它。