Django: Sample data

Sample Data

  • Is helpful when developing
  • Sample data scripts expose issues with data models

Querying in the shell

cd locallibrary
python3 manage.py shell

Enter fullscreen mode Exit fullscreen mode

The interactive Python environment can be used to create records and query the database.

Import all necessary modules and models for the session.

from catalog.models import Book
Book.objects.all()

Enter fullscreen mode Exit fullscreen mode

Outputs:

<QuerySet []>`

Enter fullscreen mode Exit fullscreen mode

An empty query set was returned.

Add a book:

book = Book(title="Python Tutorial")
book.save()
Book.objects.all()

Enter fullscreen mode Exit fullscreen mode

Outputs:

<QuerySet [<Book: Python Tutorial>]>

Enter fullscreen mode Exit fullscreen mode

A book was successfully created. Importing everything in the beginning of the shell is painful.

Exit the the shell with exit()

Querying with shell_plus

Navigate to the same directory as requirements.txt.

shell_plus doesn’t come with Django out-of-the-box.

$ pip install django-extensions

Enter fullscreen mode Exit fullscreen mode

Add the new package to the list of installed packages.

Run pip freeze from the same directory as requirements.txt to update the file. Otherwise, you will create another requirements.txt.

pip freeze > requirements.txt

Enter fullscreen mode Exit fullscreen mode

Go to settings.py and register the extension in INSTALLED_APPS.

Then, navigate to the locallibrary directory where manage.py is located and run:

python3 manage.py shell_plus

Enter fullscreen mode Exit fullscreen mode

Now you can query without needing to import models manually.

Sample data script

Install the Faker library and add it to requirements.txt

pip install Faker
pip freeze > requirements.txt

Enter fullscreen mode Exit fullscreen mode

See create_sample_data.py at https://github.com/Samuel-Lubliner/local-library-django-tutorial/blob/main/locallibrary/create_sample_data.py
Run the sample data script:

python3 create_sample_data.py

Enter fullscreen mode Exit fullscreen mode

To start querying run python3 manage.py shell_plus

原文链接:Django: Sample data

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容