Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Điền cơ sở dữ liệu Django

Để hoàn thành công việc một cách tốt đẹp, bạn sẽ cần kết hợp Factory Boy , Faker lệnh quản lý tùy chỉnh .

Factory Boy cho phép bạn tạo các mẫu để tạo ra các đối tượng hợp lệ và Faker tạo dữ liệu giả.

Khi bạn cài đặt Factory Boy, pip install factory_boy , bạn cũng có được Faker.

Đã cho,

from django.db import models


class User(models.Model):
    name = models.CharField(max_length=64)
    address = models.CharField(max_length=128)
    phone_number = models.CharField(max_length=32)

Bạn có thể định nghĩa một Nhà máy như sau:

import factory  
import factory.django

class UserFactory(factory.django.DjangoModelFactory):  
    class Meta:
        model = User

    name = factory.Faker('name')
    address = factory.Faker('address')
    phone_number = factory.Faker('phone_number')

Sau đó, bạn có thể tạo người dùng giả bằng cách gọi UserFactory.create() .

Một cách để có được 200 người dùng giả mạo của bạn là nhảy vào shell, python manage.py shell và thực hiện:

 >>> # import UserFactory here
 >>> for _ in range(200):
 ...     UserFactory.create()

Một cách khác, có thể giúp bạn linh hoạt hơn rất nhiều, là tạo một lệnh quản lý tùy chỉnh.

Ví dụ:tạo seed.py (đây sẽ là tên lệnh quản lý) trong thư mục <yourapp>/management/commands (để Django phát hiện ra) với những điều sau:

# <yourapp>/management/commands/seed.py
from django.core.management.base import BaseCommand

# import UserFactory here


class Command(BaseCommand):
    help = 'Seeds the database.'

    def add_arguments(self, parser):
        parser.add_argument('--users',
            default=200,
            type=int,
            help='The number of fake users to create.')

    def handle(self, *args, **options):
        for _ in range(options['users']):
            UserFactory.create()

Và, bạn sẽ chạy nó qua dòng lệnh với python manage.py seed hoặc python manage.py seed --users 50 chẳng hạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các truy vấn mysql động với sql thoát có an toàn như các câu lệnh đã chuẩn bị không?

  2. Làm cách nào để nhập tệp CSV khổng lồ với 200,00 hàng vào MySQL (không đồng bộ và nhanh chóng)?

  3. Chọn giá trị phổ biến nhất từ ​​quan hệ - Câu lệnh SQL

  4. Cách tốt nhất để lưu trữ cài đặt người dùng trong MySQL?

  5. Mysql_real_escape_string có đủ để Anti SQL Injection không?