我創建一個小的聊天應用程序,我必須在管理員製作,因爲下拉爲Messagemie
模型場chat
的消息問題的選擇。請注意,下圖中沒有顯示與Conversation
型號相關的所需值。 Conversation
模型中的conversation
字段所接受的值是「number-number」的形式,例如, 5-10
,11-21
等。注意,我已經創建未如下所示的轉換這樣的輸入格式非Django管理輸入字符串(當用戶啓動一個新的會話)的機制。Django管理不顯示爲外鍵字段
的conversation
字段是CharField
類型。我懷疑爲什麼Django管理員表單不顯示所需的值是因爲field
類型,但我不確定。也可能是因爲Django管理員沒有將輸入轉換爲字符串,因此在下拉菜單中只顯示Conversation object
。爲什麼Django管理員不會爲chat
輸入字段顯示正確的值?
@python_2_unicode_compatible
class Conversation(models.Model):
conversation = models.CharField(unique=True, max_length=150)
email_1 = models.ForeignKey(Usermie, to_field="email", related_name="email_1_convo")
email_2 = models.ForeignKey(Usermie, to_field="email", related_name="email_2_convo")
@python_2_unicode_compatible
class Messagemie(models.Model):
sender = models.ForeignKey(Usermie, to_field="email", related_name="email_sender")
receiver = models.ForeignKey(Usermie, to_field="email", related_name="email_receiver")
# The username is the sender's username
sender_username = models.CharField(max_length=50)
receiver_username = models.CharField(max_length=50)
message = models.TextField()
chat = models.ForeignKey(Conversation, to_field="conversation", related_name="conversation_chat")
圖片表示Messagemie模型chat
場選擇在管理員輸入值的
非常感謝您的回答!你的回答也回答下一個問題。我使用奇怪爲什麼人們使用'__str__'方法,當你可以使用任何方法並輸出你想要的任何東西作爲簡單地使用'%s'時。非常感謝! – Jam1
很高興能幫到你! –