如何解决如何隐式设置为String?
我有一个模型,我正在使用@property
返回该函数,但是它给了我一组数据,并且我希望用逗号将这些数据放在字符串中,请让我知道我该怎么做
这是我的models.py
文件:
class ShippingAddress(models.Model):
customer = models.ForeignKey(Customer,on_delete=models.SET_NULL,blank=True,null=True)
order = models.ForeignKey(Order,null=True)
address = models.CharField(max_length=200,null=True)
city = models.CharField(max_length=200,null=True)
state = models.CharField(max_length=200,null=True)
zipcode = models.CharField(max_length=200,null=True)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.address
@property
def Address(self):
return str(self.address),str(self.state),str(self.zipcode)
这是我的admin.py
文件,正在调用该函数:
class ShippingAddressAdmin(admin.ModelAdmin):
list_display=['city','state','Address']
readonly_fields=['city','Address']
admin.site.register(ShippingAddress,ShippingAddressAdmin)
@property
函数的输出是这样的:
('House number-69,sector-55,Gurugram','Haryana','122002')
解决方法
您可以使用Python f-string对其进行格式化。
例如,您可以更改
return str(self.address),str(self.state),str(self.zipcode)
至
return f'{self.address},{self.state},{self.zipcode}'
像这样返回 “,”。join(您的设置) 这将以逗号分隔所有设置值