sql >> Databáze >  >> RDS >> Mysql

Naplňte databázi Django

Abyste to udělali pěkným způsobem, budete potřebovat kombinaci Factory Boy , Faker a příkazy vlastní správy .

Factory Boy vám umožňuje vytvářet šablony pro výrobu platných objektů a Faker generuje falešná data.

Když instalujete Factory Boy, pip install factory_boy , získáte také Faker.

Dané,

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)

Továrnu můžete definovat následovně:

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')

Poté můžete vytvořit falešné uživatele voláním UserFactory.create() .

Jedním ze způsobů, jak dostat svých 200 falešných uživatelů, by bylo skočit do shellu, python manage.py shell a proveďte:

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

Dalším způsobem, který vám může poskytnout mnohem větší flexibilitu, je vytvořit vlastní příkaz pro správu.

Vytvořte například seed.py (toto bude název příkazu pro správu) v adresáři <yourapp>/management/commands (aby to objevil Django) s následujícím:

# <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()

A spustili byste to přes příkazový řádek s python manage.py seed nebo python manage.py seed --users 50 například.



  1. ověřit dostupnost pokoje pomocí SQL

  2. Aktualizace Postgresql s připojením

  3. Součtový dotaz MYSQL s podmínkou IF

  4. Načítání obrazových dat do sloupců BLOB v Oracle