【问题标题】:How can I reset and prepoulate all users in django?如何在 django 中重置和预填充所有用户?
【发布时间】:2011-12-29 15:11:37
【问题描述】:

我正在开发一个包含一些复杂用户交互的 django 应用程序,所以我需要做很多测试。有没有一种简单的方法可以清除数据库中的用户表(以及所有关联的表)以重新开始?另外,有没有一种好方法可以用“测试用户”自动填充数据库?

详情:

  • 这是一个我希望执行多次的操作,所以如果能够从命令行快速运行它会很好。
  • 我在 django 1.3.1 中使用基本用户模型 (django.contrib.auth.models.User)
  • 使用管理页面,我宁愿保持这种状态,除非事情变得非常绝望。

谢谢!

【问题讨论】:

    标签: django reset django-users


    【解决方案1】:

    关于自动填充,请查看django fixtures

    加载夹具将覆盖更改,但不会删除任何添加。清理桌子,你想要

    User.objects.all().delete() 
    

    这也将传播到任何具有引用用户的外键的东西。要从命令行执行此操作,请将其包装在 management command

    【讨论】:

    • 相关问题——有没有办法重置用户索引表中的键,以便下一个用户创建的索引为 pk=1?似乎 User.objects.all.delete() 删除了表条目,但没有重置 inedx。
    • 嗯。不确定。我想你总是可以放下桌子并再次运行syncdb。 (syncdb 保留任何现有表)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2015-09-02
    • 2015-12-10
    • 2015-12-27
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多