我正在编写Django应用程序,我想为每个不同的null
创建不同的目录。
此代码不起作用(使用方法):
Trip
photo = models.ImageField(upload_to =“reservations /”+ get_trip_title()+“/”)#NEED FIX TypeError:get_trip_title()缺少1个必需的位置参数:'self'
此代码也不起作用(使用属性):
class TripPhoto(models.Model):
def __str__(self):
return self.trip_id.title
trip_id = models.ForeignKey(Trip, on_delete=models.CASCADE)
def get_trip_title(self):
return self.trip_id.title
photo = models.ImageField(upload_to="reservations/" + get_trip_title() + "/") # NEED FIX
photo = models.ImageField(upload_to =“reservations /”+ str(trip_id.title)+“/”)#NEED FIX AttributeError:'ForeignKey'对象没有属性'title'
我知道我可以使用class TripPhoto(models.Model):
def __str__(self):
return self.trip_id.title
trip_id = models.ForeignKey(Trip, on_delete=models.CASCADE)
photo = models.ImageField(upload_to="reservations/" + str(trip_id.title) + "/") # NEED FIX
,因为我在代码的另一部分使用了它。
有没有办法在类方法之外使用self.trip_id.title
(实例引用?)?
答案 0 :(得分:3)
在模型之外声明函数,实例将通过第一个参数传递给它:
for device in devices_infos['data']:
name = device['name']