varlığına bağlı olarak bir dize birleştirin "adres" adlı bir Django modelinde bir özellik oluşturuyorum. Adresimin, modelimde sahip olduğum bir dizi alanın birleşiminden oluşmasını istiyorum. Sorun, bu modelin tüm örneklerinin bu alanların tümü için değerlere sahip olmamasıdır. Yani, sadece değerleri olan alanları birleştirmek istiyorum.Python/Django Bu dize
Bunu yapmanın en iyi/en çok Pythonic yolu nedir? Sadece böyle bir şey yapabileceğini
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)
: sonuçta
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)
ama sonra olacağını ekstra boşluk İşte
modelinden alakalı alanlardır.Her birinde bir dizi ifade varsa ve bir dizi yapabilirim, ancak bu çirkin görünüyor.
Bu durumun üstesinden gelmenin en iyi yolu nedir?
Teşekkürler.
'Yok Yok' ilavesi için teşekkürler –
@DouglasMeehan: Sure. Ayrıca, yöntemi her çağırdığınızda geçici bir liste oluşturmaya kaydetmek isterseniz, örnekler arasında değişmeyeceği için alanları bir sınıf özniteliği olarak kaydedebilirsiniz. – jdi
Bu durumda daha iyi olan nedir? tuple veya liste? –