これらは私のモデルの単純なバージョンです:
class Device(models.Model):
name = models.CharField(max_length=100)
def get_ips(self):
return self.deviceip_set.all()
def get_ips_string(self):
return ', '.join('<a href="http://' + unicode(ip.ip) + '">' + unicode(ip.ip) + '</a>' for ip in self.get_ips())
class DeviceIP(models.Model):
ip = models.GenericIPAddressField()
device = models.ForeignKey(Device)
そして、これは私のadmin.pyからのものです:
class DeviceAdmin(admin.ModelAdmin):
list_display = ('__unicode__', 'get_ips_string')
admin.site.register(Device, DeviceAdmin)
MVT/MVC の観点から、メソッドget_ips_string()
はモデルで定義する必要がありますか、それとも実際に HTML を生成するため、別の場所 (admin.py など) に適していますか?
管理サイトを使用する代わりに独自のテンプレートを作成することにした場合、メソッドのget_ips_string()
定義場所に影響はありますか?