Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Django डेटाबेस को पॉप्युलेट करें

इसे अच्छे तरीके से करने के लिए आपको Factory Boy के संयोजन की आवश्यकता होगी। , Faker और कस्टम प्रबंधन आदेश

फ़ैक्टरी बॉय आपको वैध वस्तुओं के उत्पादन के लिए टेम्पलेट बनाने की अनुमति देता है और फ़ेकर नकली डेटा उत्पन्न करता है।

जब आप फ़ैक्टरी बॉय स्थापित करते हैं, तो pip install factory_boy , आपको फ़ेकर भी मिलता है।

दिया गया,

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)

आप फैक्ट्री को इस प्रकार परिभाषित कर सकते हैं:

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

फिर, आप UserFactory.create() . पर कॉल करके नकली उपयोगकर्ता बना सकते हैं ।

अपने 200 नकली उपयोगकर्ताओं को प्राप्त करने का एक तरीका यह होगा कि आप शेल में कूद जाएं, python manage.py shell , और करें:

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

एक और तरीका है, जो आपको बहुत अधिक लचीलापन दे सकता है, वह है एक कस्टम प्रबंधन कमांड बनाना।

उदाहरण के लिए, seed.py create बनाएं (यह प्रबंधन कमांड का नाम होगा) निर्देशिका में <yourapp>/management/commands (इसे Django द्वारा खोजा गया है) निम्नलिखित के साथ:

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

और, आप इसे python manage.py seed . के साथ कमांड-लाइन के माध्यम से चलाएंगे या python manage.py seed --users 50 उदाहरण के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या कोई Android ऐप सीधे किसी ऑनलाइन mysql डेटाबेस से कनेक्ट हो सकता है?

  2. संदर्भ:MySQL एक्सटेंशन का उपयोग करके एक आदर्श कोड नमूना क्या है?

  3. MySQL से अजगर/पांडा/सुन्न सरणी में संख्यात्मक डेटा लोड करने का सबसे तेज़ तरीका

  4. एक MySQL ट्रिगर में तालिका अद्यतन को रोकने में त्रुटि फेंको

  5. PDO-MySQL:बूलियन मान तैयार स्टेटमेंट बाइंडिंग पर 1 या खाली स्ट्रिंग में परिवर्तित हो जाते हैं