मैं एक सरल उद्देश्य प्राप्त करने के लिए Django दस्तावेज़ीकरण here का पालन कर रहा हूं: जैसे ही कोई नया उपयोगकर्ता बनाया गया हो, उपयोगकर्ता प्रोफ़ाइल बनाएं।Django - उपयोगकर्ता निर्माण पर उपयोगकर्ता प्रोफ़ाइल बनाएं
मैं एक के खातों की ऐप है और मेरे accounts.models इस तरह दिखता है: बजाय एक होने के
# -*- coding: utf-8 -*-
from django.db import models
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from main.models import Store
class UserProfile(models.Model):
GENRE_CHOICES = (
('m', 'Masculino'),
('f', 'Feminino'),
)
MARITAL_STATUS_CHOICES = (
('s', 'Solteiro'),
('c', 'Casado'),
('d', 'Divorciado'),
('v', 'Viúvo'),
)
user = models.ForeignKey(User, unique=True)
birth_date = models.DateField()
genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
address = models.CharField(max_length=150)
postal_code_4 = models.PositiveIntegerField()
postal_code_3 = models.PositiveIntegerField()
locatity = models.CharField(max_length=30)
marital_status = models.CharField(max_length=1, choices=MARITAL_STATUS_CHOICES)
child_amount = models.PositiveSmallIntegerField()
is_merchant = models.BooleanField(default=False)
store = models.ForeignKey(Store, null=True)
def create_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
सब कुछ मेरे लिए ठीक लग रहा है, लेकिन जब एक नया उपयोगकर्ता जोड़ने की कोशिश कर रहा (Django व्यवस्थापक का उपयोग करके), नव निर्मित उपयोगकर्ता और उपयोगकर्ता प्रोफ़ाइल, मैं निम्नलिखित त्रुटि मिलती है:/व्यवस्थापक/प्रमाणन/उपयोगकर्ता पर InternalError/जोड़/ वर्तमान लेन-देन निरस्त किया गया है, लेन-देन ब्लॉक
यहाँ के अंत तक ध्यान नहीं दिया आदेशों ट्रेसबैक त्रुटि हिस्सा है :
/djangoProjects/lwboanova/lwboanova/apps/accounts/models.py in create_user_profile
34: UserProfile.objects.create(user=instance)
यह एक ईमानदारी त्रुटि की तरह लगता है लेकिन मुझे इसका कारण नहीं मिल रहा है।
यदि कोई भी मुझे इस पर कुछ मदद दे सकता है तो बहुत अच्छा होगा।
क्या आपके पास django टूलबार स्थापित है? यदि ऐसा है तो इसे अक्षम करने का प्रयास करें ताकि आपको बेहतर त्रुटि जानकारी मिल सके। –