【问题标题】:Access Django DB objects without shell?在没有外壳的情况下访问 Django DB 对象?
【发布时间】:2020-05-15 12:54:12
【问题描述】:

我有一个请求 - 你能帮我在不使用 shell 的情况下访问和管理 django DB 对象吗? 我已经创建了我的模型,但现在(例如)我想制作一个登录系统。我存储用户和通行证(再次,只是一个例子),我想从数据库中获取信息,但我不想使用 shell。 在这种情况下我能做什么,我对 Django 很陌生?! 最好的问候

【问题讨论】:

    标签: python sql django


    【解决方案1】:

    为什么不使用 django-admin? 也许这就是你想要的:https://docs.djangoproject.com/en/3.0/ref/contrib/admin/

    【讨论】:

      【解决方案2】:

      在views.py中可以导入

      从 .models 导入模型名称

      data = modelname.objects.all() - 使用它你可以从数据库中获取所有数据 例如:- 对于数据中的 d: 打印(d.email) 将给数据库中的所有电子邮件

      你也可以使用 t = modelname.objects.get(email='name@lk.com') 这样就可以得到邮箱是name@lk.com的人的数据

      【讨论】:

      • 我使用了这个,但它返回了一个错误,该类没有对象成员 - 这就是错误
      【解决方案3】:

      Django 已经支持数据库,您可以在其中注册模型并使用图形界面访问它们。

      查看文档:django-admin-site

      首先你需要创建一个超级用户账号,如果没有,在项目目录下用终端创建,使用这一行:

      python manage.py createsuperuser

      要让您的模型出现在管理网站上,您需要注册它

      # models.py
      class MyModel(models.Model)
          field1 = models.CharField()
          field2 = models.TextField()
          # ...
      
      # admin.py
      from django.contrib import admin
      from .models import MyModel
      
      admin.site.register(MyModel)
      
      

      所以这是注册模型的基本方法,如果你想个性化你需要查看文档ModelAdmin.fieldsets

      完成此操作后,只需通过链接http://localhost:8000/admin/ 访问管理站点并使用超级用户帐户登录,您将看到已注册的模型。

      【讨论】:

      • 好的,我明白了,但是如果我需要访问其他类型的信息怎么办。或者需要在函数中使用(在图形界面外)
      • @StanislavIvanov 您可以通过在脚本中导入模型来访问它就像from myapp.models import MyModelName 访问其中的所有对象MyModelName.objects.all ()
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2014-11-25
      相关资源
      最近更新 更多