7156


Djangoでモデルを作るとき、

[code]

    class UserCustom(models.Model):
        hoge = models.AutoField(primary_key=True, help_text='hogeを入力して下さい', verbose_name=u'別名')
    
[/code]

のようにすれば、別名をつけることが出来ます。

[code]

    class UserCustom(models.Model):
        hoge = models.AutoField(primary_key=True, help_text='hogeを入力して下さい', verbose_name=u'別名')
        def custom_column(self):
            return 'bar'
    
[/code]

のようにcustom_columnを追加した時に、  
custom_columnに別名を付けたいです。  
※このテクニックをカスタムカラムというのかわかりませんが、便宜上こう名づけました。

情報が無いため試しにこれらを行ってみましたが、

[code]

    def custom_column(self):
        class Meta:
            verbose_name = u'カスタムカラム'
    
[/code]

や

[code]

    def custom_column(self):
        self.verbose_name = u'カスタムカラム'
    
[/code]

ダメでした。  
よろしくおねがいします。


CC BY-SA 3.0
2015-02-26T12:17:20.573
7151
2015-04-01T04:49:55.200
7934
question
python sqlite django
Djangoでモデルのカスタムカラムに名前を付けたい


`admin.py`の`admin.ModelAdmin`で定義するようです:

[code]

    class UserCustomAdmin(admin.ModelAdmin):
        list_display = (..., 'custom_column',)
    
        def custom_column(self):
            return 'bar'
    
[/code]

参照  
<https://stackoverflow.com/a/2156277/24718>


CC BY-SA 3.0
2015-02-26T14:56:39.123
7156
2015-03-02T01:05:33.553
2017-05-23T12:38:56.467
-1
2314
7151
answer


`メソッド名.short_description`を定義すれば、管理サイトのカラムのタイトルが変更できます。

models.py

[code]

    class UserCustom(models.Model):
        ...
        def custom_column(self):
            return 'bar'
        custom_column.short_description = u'カスタムカラム'
    
[/code]

admin.py

[code]

    list_display = ('custom_column', ... )
    
[/code]

参考URL: [Django admin サイト](http://django-docs-
ja.readthedocs.org/en/latest/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display)


CC BY-SA 3.0
2015-04-01T04:49:55.200
8638
2015-04-01T04:49:55.200
9044
7151
answer