首页 > 解决方案 > 如何隐蔽设置为字符串?

问题描述

我有一个模型,我正在使用返回函数@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')

标签: pythondjangodjango-modelsdjango-viewsdjango-admin

解决方案


您可以使用 Python f-string以您想要的方式对其进行格式化。

例如,您可以更改 return str(self.address), str(self.state), str(self.zipcode)return f'{self.address}, {self.state}, {self.zipcode}'


推荐阅读