如何隐式设置为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(您的设置) 这将以逗号分隔所有设置值