Tôi đang tạo thuộc tính trên mô hình Django có tên là "địa chỉ". Tôi muốn địa chỉ để bao gồm các kết nối của một số lĩnh vực tôi có trên mô hình của tôi. Vấn đề là không phải tất cả các trường hợp của mô hình này sẽ có giá trị cho tất cả các trường này. Vì vậy, tôi muốn nối chỉ những trường có giá trị.Python/Django Ghép nối chuỗi tùy thuộc vào chuỗi đó tồn tại
Cách tốt nhất/đa chiều nhất để làm điều này là gì?
Dưới đây là các lĩnh vực có liên quan từ mô hình:
house = models.IntegerField('House Number', null=True, blank=True)
suf = models.CharField('House Number Suffix', max_length=1, null=True, blank=True)
unit = models.CharField('Address Unit', max_length=7, null=True, blank=True)
stex = models.IntegerField('Address Extention', null=True, blank=True)
stdir = models.CharField('Street Direction', max_length=254, null=True, blank=True)
stnam = models.CharField('Street Name', max_length=30, null=True, blank=True)
stdes = models.CharField('Street Designation', max_length=3, null=True, blank=True)
stdessuf = models.CharField('Street Designation Suffix',max_length=1, null=True, blank=True)
Tôi chỉ có thể làm một cái gì đó như thế này:
def _get_address(self):
return "%s %s %s %s %s %s %s %s" % (self.house, self.suf, self.unit, self.stex, self.stdir, self.stname, self.stdes, self.stdessuf)
nhưng sau đó sẽ có khoảng trống thêm trong kết quả.
Tôi có thể thực hiện một loạt các câu lệnh if và nối trong mỗi câu lệnh, nhưng điều đó có vẻ xấu.
Cách tốt nhất để xử lý tình huống này là gì?
Cảm ơn.
Cảm ơn sự bổ sung 'không có gì' –
@DouglasMeehan: Chắc chắn rồi. Ngoài ra nếu bạn muốn lưu vào việc tạo danh sách tạm thời mỗi lần bạn gọi phương thức, bạn có thể lưu các trường trong danh sách dưới dạng thuộc tính lớp, vì nó sẽ không thay đổi giữa các phiên bản. – jdi
Điều gì tốt hơn trong tình huống này? tuple hoặc danh sách? –