Thanks The question is how do I populate a field with some other date, for example, there's a date of birth field that the auto stuff wont be ideal for... In the populate method i mentioned before, i passed the dob(date of birth) field a Date object initialized to something arbitrary. Does the DateField not get along with standard date objects? What format should stuff be in for populating DateFields?
On Jun 17, 7:24 am, Alexander Jeliuc <jeliucalexa...@gmail.com> wrote: > read about autofill_now=True and autofill=True > > On Thu, Jun 17, 2010 at 8:14 AM, Sheena <sheena.oconn...@gmail.com> wrote: > > I've defined a number of models, one of which I've called > > MemberProfile that looks like this > > > class MemberProfile(models.Model): > > postal_addr1=models.CharField(max_length=50, verbose_name="postal > > address line 1") > > postal_addr2=models.CharField(max_length=50, verbose_name="postal > > address line 2") > > postal_addr3=models.CharField(max_length=50, verbose_name="postal > > address line 3") > > postalcode=models.CharField(max_length=4, verbose_name="postal > > code") > > res_addr1=models.CharField(max_length=50, > > verbose_name="residential address line 1") > > res_addr2=models.CharField(max_length=50, > > verbose_name="residential address line 2") > > res_addr3=models.CharField(max_length=50, > > verbose_name="residential address line 3") > > rescode=models.CharField(max_length=4, verbose_name="residential > > postal code") > > homeno=models.CharField(max_length=12, verbose_name="home number") > > workno=models.CharField(max_length=12, verbose_name="work number") > > cellno=models.CharField(max_length=12, unique=True, > > verbose_name="cellphone number") > > idno=models.CharField(max_length=13, unique=True, verbose_name="id > > or passport number") > > occu=models.CharField(max_length=15, verbose_name="occupation") > > employer=models.CharField(max_length=30) > > amount_paid=models.IntegerField(blank=True, null=True, > > help_text="total fees paid to date", verbose_name="total reciepts") > > reciept_no=models.IntegerField(blank=True, null=True, > > help_text="latest reciept number", verbose_name="reciept number") > > dob=models.DateField(verbose_name="date of birth") > > start_date=models.DateField() > > expire_date=models.DateField() > > captured_by=models.CharField(max_length=50, help_text="name of > > data capturer") > > photo=models.ImageField(upload_to="memberphotos", null=True, > > blank=True) > > permission=models.CharField(max_length=1, > > choices=PERMISSION_CHOICES, help_text="Administration level, if the > > user is a superuser this field has no effect") > > user=models.ForeignKey(User,unique=True,related_name="member", > > editable=False) > > branch=models.ForeignKey(Branch,related_name="member", null=True) > > > def create_member(self,username,email,password): > > m=MemberProfile() > > > m.user=User.objects.create_user(username=username,email=email,password=password) > > return m > > > def __unicode__(self): > > return self.user.username > > > def save(self,*args,**kwargs): > > if not self.start_date: > > self.start_date=models.DateField(datetime.date.today()) > > year=timedelta(days=365) > > self.expire_date=models.DateField(datetime.date.today() > > +year) > > super(MemberProfile, self).save(self,*args,**kwargs) > > > I then wrote a method called populate just to test the database out > > and it is pretty friendly until I get this: > > > Traceback (most recent call last): > > File "<console>", line 1, in <module> > > File "/host/Shared info/MyDBA/MyMembers/populate.py", line 114, in > > populate > > m1.save() > > File "/host/Shared info/MyDBA/MyMembers/../MyMembers/chiefs/ > > models.py", line 115, in save > > super(MemberProfile, self).save(self,*args,**kwargs) > > File "/usr/lib/pymodules/python2.6/django/db/models/base.py", line > > 410, in save > > self.save_base(force_insert=force_insert, > > force_update=force_update) > > File "/usr/lib/pymodules/python2.6/django/db/models/base.py", line > > 483, in save_base > > values = [(f, f.get_db_prep_save(raw and getattr(self, f.attname) > > or f.pre_save(self, True))) for f in meta.local_fields if not > > isinstance(f, AutoField)] > > File "/usr/lib/pymodules/python2.6/django/db/models/fields/ > > __init__.py", line 192, in get_db_prep_save > > return self.get_db_prep_value(value) > > File "/usr/lib/pymodules/python2.6/django/db/models/fields/ > > __init__.py", line 511, in get_db_prep_value > > return connection.ops.value_to_db_date(self.to_python(value)) > > File "/usr/lib/pymodules/python2.6/django/db/models/fields/ > > __init__.py", line 472, in to_python > > if not ansi_date_re.search(value): > > TypeError: expected string or buffer > > > m1 is an instance of MemberProfile... > > > The error goes away if I comment out everything to do with > > DateField... > > Am I doing something retarded? As far as I can see I'm populating the > > fields the right way... > > > Any help would be greatly appreciated > > > -- > > You received this message because you are subscribed to the Google Groups > > "Django users" group. > > To post to this group, send email to django-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.