के बाद मैं फ़ाइलों कि डीबी में पहले से ही में कुछ मॉडल है कि एक मॉडल फ़ोल्डर है। मैं सिर्फ एक और फ़ाइल/मॉडल को शामिल किया है लेकिन जब मैं syncdb चलाने यह DB में जोड़ा नहीं जा रहा है। मैंने manage.py मान्य करने की कोशिश की है और यह ठीक चल रहा है। मैं भी कोड के चलने तथा यह केवल विफल रहता है जब इसके साथ "तालिका मौजूद नहीं है" को बचाने के लिए प्रयास करता है।Django मॉडल डीबी में नहीं दिख रहा syncdb
मूल संरचना इस तरह था: file1.py
- - - init __ .py
__
/मॉडल
file2.py
और __
from file1 import File1Model
from file2 import File2Model
012: init __ .py की तरह दिखाई देता
मैं file3.py
/मॉडल
जोड़ा - __ init .py
__ - file1.py
- file2.py
- file3.py
और संशोधित init __ .py
from file1 import File1Model
from file2 import File2Model
from file3 import File3Model
__
और फ़ाइल 3 की सामग्री (नामों को निर्दोषों की रक्षा के लिए बदला जा सकता है, लेकिन इसके अलावा इसकी सटीक फ़ाइल):
अपडेट: केवल प्राथमिक कुंजी जोड़ने की कोशिश की गई है क्योंकि आईडी फ़ील्ड स्वचालित रूप से जोड़े गए हैं पूर्णांक प्राथमिक कुंजी आईडी। कुछ बदलावों की कोशिश की लेकिन कोई पासा नहीं।
from django.db import models
from django.contrib.auth.models import User
class File3Model(models.Model):
user = models.OneToOneField(User)
token = models.CharField(max_length=255, blank=False, null=False)
id = models.CharField(primary_key=True, max_length=255)
class Admin:
pass
class Meta:
app_label = 'coolabel'
def __unicode__(self):
return self.user.username
@staticmethod
def getinstance(user, token, id):
try:
instance = File3Model.objects.get(pk=id)
if instance.token != token:
instance.token = token
instance.save()
return instance
except:
pass
instance = File3Model()
instance.user = user
instance.token = token
instance.id = id
instance.save()
return instance
तो इस उदाहरण में, File1Model और File2Model डीबी में पहले से ही कर रहे हैं और syncdb के बाद डीबी में रहते हैं। हालांकि, File3Model नहीं जोड़ा गया है syncdb का पुनर्प्रसारण के बाद भी। क्या यह पता लगाने का कोई तरीका है कि नया मॉडल क्यों नहीं जोड़ा जा रहा है ??
क्या आपने 'syncdb --all' को आजमाया था? – sultan
अभी कोशिश की लेकिन अभी भी काम नहीं कर रहा है। – ntrrobng