All my CreateViews are working fine, but this one is not (although this is UpdateView). After checking, trying to identify differences, I find none. Must be something I'm still missing.
Template:
<form method="POST">{% csrf_token %}
{{ form.non_field_errors }}
{{ form.errors }}
{{ form.make }}
{{ form.make.errors }}
{{ form.model}}
{{ form.model.errors }}
{{ form.year}}
{{ form.year.errors }}
<button type="submit"> Save</button>
<a href="javascript:close_window();"> Close</a>
</form>
Url paterns in URLS.py:
url(r'^update/(?P<pk>\w+)/$',UpdateView.as_view(
model=Vehicles,
form_class=VehiclesForm,
success_url="/main/",
template_name="vehicle_detail.html")),
Model:
from django.db import models
class Vehicles(models.Model):
stock = models.CharField(max_length=10, blank=False, db_index=True)
vin = models.CharField(max_length=17, blank=False, db_index=True)
vinlast8 = models.CharField(max_length=8, blank=False, db_index=True)
make = models.CharField(max_length=15, blank=False)
model = models.CharField(max_length=15, blank=False)
year = models.CharField(max_length=4, blank=False)
deal = models.IntegerField(blank=False, db_index=True, null=True)
sold = models.DateField(blank=True, null=True, db_index=True)
origin = models.ForeignKey('origins.Origins', db_column='origin')
#origin = models.CharField(max_length=10, blank=True)
bank = models.ForeignKey('banks.Banks', db_column='bank', null=True)
vehtype = models.ForeignKey('vehtypes.Vehtypes', db_column='vehtype', verbose_name='Veh Type')
status = models.ForeignKey('status.Status', db_column='status')
imported = models.DateField()
clerk = models.CharField(max_length=10, blank=False, db_index=True, verbose_name='Clerk')
completed = models.DateField(blank=True, null=True)
registry = models.IntegerField(blank=True, verbose_name='Reg #', null=True)
plate = models.CharField(blank=True, null=True, max_length=10)
tagno = models.IntegerField(blank=True, null=True, verbose_name='Tag #')
tag_exp = models.DateField(blank=True, null=True, verbose_name='Tag Exp')
unit_linked = models.IntegerField(blank=False, verbose_name='Link')
salesperson = models.CharField(max_length=20, blank=False, verbose_name='S/person', null=True)
agent = models.ForeignKey('agents.Agents', db_column='agent', blank=True, null=True)
tradein1 = models.CharField(max_length=10, blank=True, null=True, verbose_name='stock')
tr1vin = models.CharField(max_length=17, blank=True, db_index=True, null=True, verbose_name='vin')
tr1make = models.CharField(max_length=15, blank=True, null=True, verbose_name='make')
tr1model = models.CharField(max_length=15, blank=True, null=True, verbose_name='model')
tr1year = models.CharField(max_length=4, blank=True, null=True, verbose_name='year')
tradein2 = models.CharField(max_length=10, blank=True, null=True, verbose_name='stock')
tr2vin = models.CharField(max_length=17, blank=True, db_index=True, null=True,verbose_name='vin')
tr2make = models.CharField(max_length=15, blank=True, null=True,verbose_name='make')
tr2model = models.CharField(max_length=15, blank=True, null=True,verbose_name='model')
tr2year = models.CharField(max_length=4, blank=True, null=True,verbose_name='year')
lhtrade1 = models.CharField(max_length=15, blank=True, null=True, verbose_name='L/holder')
lh1docreq = models.DateField(blank=True, null=True, verbose_name='D/Requested')
lh1docrec = models.DateField(blank=True, null=True, verbose_name='D/Received')
lhtrade2 = models.CharField(max_length=15, blank=True, null=True, verbose_name='L/holder')
lh2docreq = models.DateField(blank=True, null=True, verbose_name='D/Requested')
lh2docrec = models.DateField(blank=True, null=True, verbose_name='D/Received')
cust1name = models.CharField(max_length=40, blank=True, db_index=True, null=True,
verbose_name='name')
cust1lic = models.CharField(max_length=20, blank=True, db_index=True, null=True,
verbose_name='license')
cust1addr = models.CharField(max_length=40, blank=True, null=True, verbose_name='address')
cust1city = models.CharField(max_length=15, blank=True, null=True, verbose_name='city')
cust1state = models.CharField(max_length=2, blank=True, null=True, verbose_name='state')
cust1zip = models.CharField(max_length=10, blank=True, null=True, verbose_name='zipcode')
cust1email = models.EmailField(blank=True, null=True, verbose_name='email')
cust1tel1 = models.CharField(max_length=15, blank=True, verbose_name='Tel. 1', null=True)
cust1tel2 = models.CharField(max_length=15, blank=True, verbose_name='Tel. 2', null=True)
cust1ssn = models.CharField(max_length=12, blank=True, db_index=True, null=True,verbose_name='SSN')
cust2name = models.CharField(max_length=30, blank=True, db_index=True, null=True,
verbose_name='name')
cust2lic = models.CharField(max_length=20, blank=True, db_index=True, null=True,
verbose_name='license')
cust2addr = models.CharField(max_length=25, blank=True, null=True, verbose_name='address')
cust2city = models.CharField(max_length=15, blank=True, null=True, verbose_name='city')
cust2state = models.CharField(max_length=2, blank=True, null=True, verbose_name='state')
cust2zip = models.CharField(max_length=10, blank=True, null=True, verbose_name='zipcode')
cust2email = models.EmailField(blank=True, null=True, verbose_name='email')
cust2tel1 = models.CharField(max_length=15, blank=True, verbose_name='Tel. 1', null=True)
cust2tel2 = models.CharField(max_length=15, blank=True, verbose_name='Tel. 2', null=True)
cust2ssn = models.CharField(max_length=12, blank=True, db_index=True, null=True,verbose_name='SSN')
class Meta:
db_table = 'vehicles'
def __unicode__(self):
return self.stock
def save(self, *args, **kwargs):
self.stock = self.stock.upper()
return super(Vehicles, self).save(*args, **kwargs)
Form:
from django import forms
from models import Vehicles
class VehiclesForm(forms.ModelForm):
class Meta:
model = Vehicles
It's a modelform. Firebug and console do report the POST is actually occuring, but record is not updated.
Appreciate anything you realize it's wrong.