I have a generated field in a MySQL table "alpha
= upper(substr(`lname`,1,1))" where the field lname is a last name of a
person. Idea is that I get a field of the first letter of the last name.
In Django, I have in the table 'attendees' a field alpha =
models.CharField("alpha", max_length=1, db_column='alpha',
help_text='leading alphabetic letter of lastname.')
This works ok when I a new record into the database and the field "alpha"
is computed correctly. It works where I can query out the data using
Django.
Now I have discovered that if in Django I adjust one of the the other
fields (not lname), when I do a "save() on the record", Django throws an
error:
"The value specified for generated column 'alpha' in table 'attendees' is
not allowed.")
The one field i am changing in the "attendee" table is a foreign key field;
and I'm giving Django the foreign key object. So I think I'm doing that
correctly; but the new attendee object is not being saved.
I've searched Google for "Django Mysql generated field" and come up with
nothing relevant on anything special needed; but I suspect I'm missing
something hence this query. Looking for something special about generated
fields in MySQL and Django, if anything special?
Some code extracts:
class Guest(models.Model):
lname = models.CharField(max_length=150, db_column='Lname',
blank=True,help_text="Last name")
alpha = models.CharField("alpha", max_length=1, db_column='alpha',
help_text='leading alphabetic letter of lastname.')
contact = models.ForeignKey(Contact, related_name='adcontact',
db_column='ContactID',blank=True, null=True, help_text="Name of linked
contact for this guest")
timestamp =
models.DateTimeField(db_column='timestamp',auto_now=True,blank=False)
cad=Guest.objects.filter(contact__id=idfrom)
print "Guest: ",len(cad)
if cad:
for i in cad:
print "i.contact:",i.id,i.contact
print "contactto:",contactto.id,contactto
i.contact=contactto
try:
i.save(["contact"])
except Exception as e:
print ">>>>Exception. cad contact save failed.",e
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/45a3e32d-29d7-4129-896b-01698beec3e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.