python - 如何隐蔽设置为字符串?
问题描述
我有一个模型,我正在使用返回函数@property
,但它给了我集合中的数据,我想要这个数据在一个带逗号的字符串中,请让我知道我该怎么做。
这是我的models.py
文件:
class ShippingAddress(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True)
order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, 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}'