ola,
am i glad that people like you exist!!...you explained things just
fine and your code works like a charm
regards
Ian

On 9/17/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> You can not do what you are trying to do, the way you are doing it ;-)
>
> The problem is the 'test_name' does not refer to the data on the
> instance. It just evaluates to the local variable.
> That means you are constructing that upload_to string at import time.
> It is the equivalent of doing:
>
> foo = models.CharField(maxlength=200)
>
> class TestDetail(models.Model):
>     test_name = foo
>     python_file = models.File("Python File", upload_to = 'tests/' +
> str(foo) + '/')
>
> In other words, you can not just have the FileField use data from the
> particular TestDetail instance.
>
> To get around this, you need to create a new type of FileField. An
> example of doing exactly this can be found here:
> https://pycon.coderanger.net/browser/django/trunk/pycon/schedule/models.py#L256
>
> NOTE: this is not the best example, and it hard codes using the id of
> a relation instead of being able to supply a field name, and it also
> has the limitation of being old-form specific.
>
> Hopefully someone else will be able to explain things better than I
> have.
>
>     -Doug
>
> On Sep 17, 1:17 pm, "Ian Lawrence" <[EMAIL PROTECTED]> wrote:
> > Hi,
> > I would like each uploaded test to go into a separate directory in my
> > media_root. In models.py I have:
> >
> > class TestDetail(models.Model):
> >     test_grouping = models.ForeignKey(TestGrouping)
> >     test_name = models.CharField(maxlength=200)
> >     python_file = models.FileField("Python File",
> > upload_to='tests/%s/' % test_name)
> >     control_file = models.FileField("Control File",
> > upload_to='tests/%s/' % test_name)
> >     resources = models.FileField("Resource", upload_to='tests/%s/' % 
> > test_name)
> >     def __unicode__(self):
> >         return self.test_name
> >
> >     class Admin:
> >         list_display = ('test_name',)
> >
> > but in the admin this gives me
> > home/ian/Web/media/tests/<django.db.models.fields.CharField object at
> > 0x8a3f68c>/fsfuzzer.py
> > when i try to upload files. This is probably very simple to solve but
> > i have looked through the docs and googled and nothing seems obvious
> > yet
> > thanks
> > Ian
> > --http://ianlawrence.info
>
>
> >
>


-- 
http://ianlawrence.info

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to