तो मैं इसमें दो कॉलम जोड़कर एक तालिका माइग्रेट करने का प्रयास कर रहा हूं। एक startDate
और endDate
। Django के लिए south
का उपयोग करना, यह एक साधारण माइग्रेट होना चाहिए। मेरे पास डेटटाइम के साथ अन्य टेबल भी हैं, लेकिन कुछ कारणों से मैं यहां जा रहा हूं और इसे जारी कर रहा हूं और मुझे यह नहीं दिखाई देता है।Django दक्षिण त्रुटि: विशेषता त्रुटि: 'डेटटाइमफ़िल्ल्ड' ऑब्जेक्ट में कोई विशेषता नहीं है 'मॉडल'
स्टैक ट्रेस करते हुए कहा गया है:
AttributeError: 'DateTimeField' object has no attribute 'model'
यहाँ मॉडल मैं पलायन कर रहा हूँ:
# Keep track of who has applied for a Job
class JobApply(models.Model):
job = models.ForeignKey(Jobs)
user = models.ForeignKey(User)
# Keep track of the Developer accepted to do the work
accepted_dev = models.IntegerField(null=False, blank=False, default=0)
# If 1 (True) the User has applied to this job
isApplied = models.BooleanField(default=0)
startDate = models.DateTimeField()
endDate = models.DateTimeField()
सभी startDate
और endDate
के अलावा खेतों पहले से ही डीबी में मौजूद हैं। तो उन कॉलम डिफ़ॉल्ट मानों को देने के लिए मैं टर्मिनल के माध्यम से सब कुछ वर्ग रखने के लिए datetime.date.now() का उपयोग करता हूं। मुद्दा यह है कि दक्षिण का schemamigration
ठीक काम करता है, लेकिन वास्तविक माइग्रेशन बार्फ़।
यदि कोई भी त्रुटि देख सकता है, तो मेरे बाल इसकी सराहना करेंगे। : पी
संपादित: स्टैकट्रेस सहित:
Running migrations for insource:
- Migrating forwards to 0004_auto__add_field_jobapply_startDate__add_field_jobapply_endDate.
> insource:0004_auto__add_field_jobapply_startDate__add_field_jobapply_endDate
Error in migration: insource:0004_auto__add_field_jobapply_startDate__add_field_jobapply_endDate
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 285, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/south/management/commands/migrate.py", line 111, in handle
ignore_ghosts = ignore_ghosts,
File "/usr/local/lib/python2.7/dist-packages/south/migration/__init__.py", line 220, in migrate_app
success = migrator.migrate_many(target, workplan, database)
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 229, in migrate_many
result = migrator.__class__.migrate_many(migrator, target, migrations, database)
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 304, in migrate_many
result = self.migrate(migration, database)
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 129, in migrate
result = self.run(migration, database)
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 113, in run
return self.run_migration(migration, database)
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 83, in run_migration
migration_function()
File "/usr/local/lib/python2.7/dist-packages/south/migration/migrators.py", line 59, in <lambda>
return (lambda: direction(orm))
File "/home/jared/Desktop/School/insource/insource/migrations/0004_auto__add_field_jobapply_startDate__add_field_jobapply_endDate.py", line 14, in forwards
keep_default=False)
File "/usr/local/lib/python2.7/dist-packages/south/db/generic.py", line 47, in _cache_clear
return func(self, table, *args, **opts)
File "/usr/local/lib/python2.7/dist-packages/south/db/generic.py", line 411, in add_column
sql = self.column_sql(table_name, name, field)
File "/usr/local/lib/python2.7/dist-packages/south/db/generic.py", line 706, in column_sql
default = field.get_db_prep_save(default, connection=self._get_connection())
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 350, in get_db_prep_save
prepared=False)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 911, in get_db_prep_value
value = self.get_prep_value(value)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 902, in get_prep_value
(self.model.__name__, self.name, value),
AttributeError: 'DateTimeField' object has no attribute 'model'
प्रवासन संहिता (प्रासंगिक कोड यह थोड़ा लंबा है के रूप में जोड़ने):
def forwards(self, orm):
# Adding field 'JobApply.startDate'
db.add_column(u'insource_jobapply', 'startDate',
self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2013, 12, 7, 0, 0)),
keep_default=False)
# Adding field 'JobApply.endDate'
db.add_column(u'insource_jobapply', 'endDate',
self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2013, 12, 7, 0, 0)),
keep_default=False)
def backwards(self, orm):
# Deleting field 'JobApply.startDate'
db.delete_column(u'insource_jobapply', 'startDate')
# Deleting field 'JobApply.endDate'
db.delete_column(u'insource_jobapply', 'endDate')
u'insource.jobapply': {
'Meta': {'object_name': 'JobApply'},
'accepted_dev': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'endDate': ('django.db.models.fields.DateTimeField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'isApplied': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'job': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['insource.Jobs']"}),
'startDate': ('django.db.models.fields.DateTimeField', [], {}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"})
},
क्या आप हमें पूरा स्टैकट्रैक दे सकते हैं? मुझे '.odel'' कहीं भी नहीं दिखाई देता है क्योंकि मैं 'एट्रिब्यूट एरर' के साथ अपेक्षा करता हूं ... – mgilson
क्या आप माइग्रेशन कोड भी साझा कर सकते हैं? मैंने इस तरह के माइग्रेशन का इस्तेमाल दो बार किया और उन्होंने आसानी से काम किया ... –
मेरा संपादित प्रश्न देखें। – jaredgilmore