What I can do is first register the employee via a register form, then once 
he logs in ask him/her for the profile picture. *Can I do that this way? *

If I do it this way, I don't have to change my model in any way.

Dana nedjelja, 13. rujna 2020. u 18:11:18 UTC+2 korisnik coolguy napisao je:

> not sure about the purpose of showing that example in Django documentation 
> while its comments are clear that "object will not have been saved to the 
> database yet, so if it uses the default AutoField, *it might not yet have 
> a value for its primary key field*."
>
> so that's the reason for having None with file path.
>
> In this approach what i can see is to save the employee first without file 
> and then edit and select the file.
>
> I would not use this approach and rather keep it simple as followed:
>
> photo = models.ImageField(upload_to='employee/%Y/%m/%d/', blank=True)
>
> On Sunday, September 13, 2020 at 5:41:18 AM UTC-4 [email protected] 
> wrote:
>
>> Hey coolguy,
>>
>> thanks for responding. After I changed that line as you suggested that 
>> error is solved, *but when I add the user through the admin interface, I 
>> get None as the ID* (the folder that gets created in the */media/users* 
>> is titled *None*). I'm not sure if this is expected behavior.
>>
>> I haven't added the registration or the login yet, so maybe the ID gets a 
>> value when someone is actually registering.
>>
>> Let me know.
>>
>> Best,
>> Mislav
>>
>> Dana subota, 12. rujna 2020. u 21:57:21 UTC+2 korisnik coolguy napisao je:
>>
>>> I wanted to see your model to understand but i realized after my last 
>>> post that you are using "instance.user.id" while your employee instance 
>>> does not have user field. (had to go somewhere urgently) >>> return 
>>> "employees/media/users/{0}/profile_picture.{1}".format(instance.user.id, 
>>> extension)  
>>>
>>> change it as follow and remove user from it.
>>> return "employees/media/users/{0}/profile_picture.{1}".format(
>>> instance.id <http://instance.user.id/>, extension)  
>>>
>>> It should work...
>>>
>>> On Saturday, September 12, 2020 at 3:17:28 PM UTC-4 [email protected] 
>>> wrote:
>>>
>>>> coolguy here is the complete Employee model:
>>>>
>>>> class Employee(models.Model): #TODO: Double-check this
>>>>     username = models.CharField(max_length=50, unique=True)
>>>>     email = models.EmailField()
>>>>     password = models.CharField(max_length=50)
>>>>     first_name = models.CharField(max_length=150)
>>>>     last_name = models.CharField(max_length=100)
>>>>     website = models.URLField(max_length=200, blank=True)
>>>>
>>>>     profile_picture = models.ImageField(upload_to=get_upload_path, 
>>>> blank=True, null=True)
>>>>     
>>>>     def __str__(self):
>>>>         return str(self.first_name) + str(self.last_name)
>>>>
>>>> *Why do I need the foreign key to User in the first place?* I don't 
>>>> recall seing the foreign key to User in any one of the tutorials.
>>>> Dana subota, 12. rujna 2020. u 20:20:11 UTC+2 korisnik coolguy napisao 
>>>> je:
>>>>
>>>>> Please share the complete employee model. It seems you are missing 
>>>>> User foreign key in it.
>>>>>
>>>>> On Saturday, September 12, 2020 at 2:03:20 PM UTC-4 
>>>>> [email protected] wrote:
>>>>>
>>>>>> Hey guys,
>>>>>>
>>>>>> I have the following code in models.py file in one of my apps:
>>>>>>
>>>>>> def get_upload_path(instance, filename):
>>>>>>     extension = filename.split('.')[-1]
>>>>>>     return "employees/media/users/{0}/profile_picture.{1}".format(
>>>>>> instance.user.id, extension)
>>>>>>
>>>>>> class Employee(models.Model):
>>>>>>     # some attributes here
>>>>>>     profile_picture = models.ImageField(upload_to=get_upload_path, 
>>>>>> blank=True, null=True)
>>>>>>
>>>>>> I am getting the following error when I try to add an Employee via 
>>>>>> the admin interface:
>>>>>>
>>>>>> AttributeError at /admin/employees/employee/add/
>>>>>>
>>>>>> 'Employee' object has no attribute 'user'
>>>>>>
>>>>>> *I don't know where this error is stemming from.* I took the 
>>>>>> get_upload_path function from the official Django FIleField 
>>>>>> documentation 
>>>>>> <https://docs.djangoproject.com/en/3.1/ref/models/fields/#filefield>.
>>>>>>
>>>>>> Any ideas as to what is going on here?
>>>>>>
>>>>>> Best,
>>>>>> Mislav
>>>>>>
>>>>>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/428c96ea-d71b-4174-a8e7-ff5ad45f5ec3n%40googlegroups.com.

Reply via email to