Hallo hier ist die spezifische Zeile, die ich in models.py hinzugefügtGeändertes Django-Modell. Ich habe einen einmaligen Standardwert = datetime.date für DateField angegeben. Gefunden, dass es ungültig ist. Entfernt das Feld und kann immer noch nicht migrieren
billingMonth2 = models.DateTimeField()
Dies ist, was in makemigrations passiert ist, ich dachte, ich ein nicht nullable Feld hinzugefügt, so habe ich versucht, zu definieren, einen Standardwert: gefunden
You are trying to add a non-nullable field 'billingMonth' to bills
without a default; we can't do that (the database needs something to populate
existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows)
2) Quit, and let me add a default in models.py
Select an option: 1
Please enter the default value now, as valid Python
The datetime and django.utils.timezone modules are available, so you can do
e.g. timezone.now()
>>> datetime.date
Migrations for 'bills':
0007_auto_20160609_1400.py:
- Change Meta options on bills
- Add field billingMonth to bills
ich heraus, dass datetime.date ungültig war und kam mit einem Fehler aus
....File "/home/jrbenriquez/Envs/env1/local/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 197, in effective_default
default = field.get_default()
File "/home/jrbenriquez/Envs/env1/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 797, in get_default
return self.default()
TypeError: Required argument 'year' (pos 1) not found
So entfernte ich nur das billingMonth2 Feld der Hoffnung, es wieder normal gehen und auch einen Standardwert als
`billingMonth2 = models.DateTimeField(default='Test',null=True,blank=True)`
Einstellung Beide gibt immer noch den gleichen Fehler. Es scheint mir, dass ich etwas in der Meta des Modells in einer anderen Datei oder in der Datenbank geändert habe und dass ich den Standardwert "datetime.date" irgendwo
löschen muss Ich hoffe jemand könnte mir hier helfen. Vielen Dank!
UPDATE: Hier 0007_auto20160609_1400.py
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-09 14:00
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.datetime_safe
class Migration(migrations.Migration):
dependencies = [
('bills', '0006_bills_duedate'),
]
operations = [
migrations.AlterModelOptions(
name='bills',
options={'ordering': ('-id', '-status'), 'verbose_name_plural': 'Bills'},
),
migrations.AddField(
model_name='bills',
name='billingMonth',
field=models.DateField(default=django.utils.datetime_safe.date),
preserve_default=False,
),
]
Können Sie den Inhalt von '0007_auto_20160609_1400.py' in Ihrem Migrationsordner posten? – schwobaseggl
Hallo, ich habe die Frage aktualisiert – RickyJB