14

私は自分で Web サイトを開発することで岩を壊そうとしています。レジストリ ページをいくつか作成し、データベース レコードを一覧表示することから始めています。

__unicode__メソッドが自分のレコードのユーザー名を出力せず、出力するという事実に悩まされて__str__います!

を使用するのがベスト プラクティスであることはわかってい__unicode__ますが、オブジェクトのユーザー名は__str__.

なぜこれが起こるのか誰か説明できますか?

私のモデル:

from django.db import models

class User(models.Model):
    username = models.CharField(max_length=200)
    reg_date = models.DateTimeField('registry date')

    def __unicode__(self):
        return self.username

私のadmin.py:

from django.contrib import admin
from registo.models import User

admin.site.register(User)

私の__unicode__(self)出力:

User
    User object

私の__str__(self)出力:

User
    Teste

事前にご協力いただきありがとうございます。

4

2 に答える 2

2

それがpython 3のものではない場合、投稿されたコードのインデントが正しくありません-コピー/貼り付けのバグなのか、それともコード内にあるのかわかりません。ただし、Userモデルのメソッドは次のようにインデントする必要があります。

from django.db import models

class User(models.Model):
    username = models.CharField(max_length=200)
    reg_date = models.DateTimeField('registry date')

    def __unicode__(self):
        return self.username
于 2013-08-12T14:48:47.953 に答える