Django-Modell.save() nicht schreiben Datenbank

Ich bin neu in Django und versuche gerade ein Formular Absenden mit ModelForms ein neues event anlegen und in der Datenbank speichern.

Ich versuche, Zeilen einzufügen, die in drei Tabellen: Ort, Veranstaltung (location_id FK) und EventSchedule (die als event_id FK).

Hier ist die Methode, speichert die Formen. Wenn es heißt, es werden keine Fehler zurückgegeben, doch die neuen Zeilen werden nicht in die Datenbank eingefügt.:

addNewEvent() (in views.py)

def addNewEvent(self, event_form, location_form, event_sched_form, latitude, longitude):

    new_event = event_form.save(commit=False)
    new_location = location_form.save(commit=False)
    new_event_sched = event_sched_form.save(commit=False)
    # set any necessary values and save forms
    new_location.latitude = latitude
    new_location.longitude = longitude
    new_location.save()
    new_event.flagged = False
    new_event.location = new_location
    new_event.save()
    new_event_sched.event = new_event
    new_event_sched.save()

models.py

class Location(models.Model):
    name = models.CharField(max_length=200)
    #address = models.CharField(max_length=200)
    city = models.CharField(max_length=200)
    state_code = models.CharField(max_length=100)
    zip = models.CharField(max_length=100, blank=True)
    country = models.CharField(max_length=100)
    latitude = models.DecimalField(max_digits=9, decimal_places=6)
    longitude = models.DecimalField(max_digits=9, decimal_places=6)
    class Meta:
        db_table = 'location'

class Event(models.Model):
    CATEGORIES = (
        ('KID', 'Kids'),
        ('FAM', 'Family'),
        ('NIT', 'Nightlife'),
        ('OUT', 'Outdoors'),
        ('ART', 'Arts'),
        ('MSC', 'Music'),
        ('SPT', 'Sports'),
        ('SAL', 'Sale'),
        ('EDU', 'Educational'),
        ('POL', 'Political'),
        ('FOD', 'Food'),
        ('OTH', 'Other')
    )
    location = models.ForeignKey(Location)
    name = models.CharField(max_length=200)
    description = models.CharField(max_length=200)
    category = models.CharField(max_length=20, choices=CATEGORIES)
    age_req = models.IntegerField(null=True)
    cost_per_person = models.DecimalField(max_digits=5, decimal_places=2, null=True)
    flagged = models.BooleanField()
    users = models.ManyToManyField(User, through='UserEvent')
    class Meta:
        db_table = 'event'

class EventSchedule(models.Model):
    event = models.ForeignKey(Event)
    start_date_time = models.DateTimeField()
    end_date_time = models.DateTimeField()
    class Meta:
        db_table = 'event_schedule'

forms.py

vom django.Formulare importieren ModelForm, Formen
von Modellen importieren, Event, Location, EventSchedule

class EventForm(ModelForm):
    class Meta:
        model = Event
        fields = ('name','description','category','age_req','cost_per_person')

class LocationForm(ModelForm):
    class Meta:
        model = Location
        fields = ('name','city','state_code','zip','country')

class EventScheduleForm(ModelForm):
    class Meta:
        model = EventSchedule
        fields = ('start_date_time', 'end_date_time')

Jede Hilfe wird sehr geschätzt.

Danke,

Peter

EDIT:

Kann ich auch nicht speichern, ein Modell, geschweige denn eine ModelForm (obwohl, ich mache es erfolgreich auch in anderen Orten). Ich habe den folgenden code zum verknüpfen eines Benutzers mit einem Ereignis. Keine Fehler, aber es doesn ' T fügen Sie eine Zeile in die Datenbank:

new_user_event = UserEvent(user=user,
                                event=new_event,
                                datetime_created=datetime.datetime.now())
new_user_event.save()

Irgendwelche Ideen?

EDIT 2:

Screenshot von new_user_event: http://imgur.com/JUauG

EDIT 3:

Dies ist, wie ich bin Instanziierung der ModelForms:

event_form = EventForm(request.POST or None)
location_form = LocationForm(request.POST or None)
event_sched_form = EventScheduleForm(request.POST or None)

InformationsquelleAutor stank345 | 2012-06-28

Schreibe einen Kommentar