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 hereprofile_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.Any ideas as to what is going on here?Best,Mislav
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.
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
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.