我是 Django 初學者。我有一個名為“Person”的模型,其中包含兩個字符欄位 - first_name 和 last_name。我在 shell 中使用 makemigrations 遷移了它們,并將 first_name 的值設定為我的名字。但是,每當我嘗試為 last_name 設定值時,它都會回傳空白。例如:
a = Person(last_name="...")
a.save()
a.id
id=...
Person.objects.get(id=...)
<Person: >
該值將在括號中為空白。如果相關,這是我的models.py:
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=15)
last_name = models.CharField(max_length=6)
def __str__(self):
return self.first_name
我沒有輸入超出 max_length 的值。謝謝你的時間。
uj5u.com熱心網友回復:
該__str__只回傳self.first_name,因此這意味著它會列印在Person作為與該的。<Person: last_name>last_namelast_namePerson
如果您因此將其重寫為:
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=15)
last_name = models.CharField(max_length=6)
def __str__(self):
return f'{self.first_name} {self.last_name}'
它將列印帶有名字和姓氏的人物件。
但是無論__str__.
例如,如果您獲得該.last_name屬性,它將列印:
>>> Person.objects.get(id=some_id).last_name
'...'
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398790.html
上一篇:如何恢復.git檔案夾洗掉?
