【发布时间】:2017-06-20 18:44:06
【问题描述】:
我正在创建一个小型聊天应用程序,但由于字段 chat 的 Messagemie 模型的下拉列表,我无法在管理员中发送消息。请注意,在下图中,它没有显示与 Conversation 模型关联的所需值。 Conversation 模型中的 conversation 字段接受的值是“数字-数字”形式,例如5-10、11-21 等。请注意,我创建了一个未在下面显示的机制,它将此类输入格式转换为非 Django 管理员输入的字符串(当用户开始新对话时)。
conversation 字段的类型为 CharField。我怀疑 Django 管理表单未显示所需值的原因是因为 field 类型,但我不确定。也可能是因为 Django 管理员没有将输入转换为字符串,因此在下拉菜单中只显示Conversation object。为什么 Django admin 没有为 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 模型 chatadmin 中的字段选择
【问题讨论】:
标签: python django django-models