【发布时间】:2018-02-26 18:08:03
【问题描述】:
我正在使用 Django 框架构建一个简单的库存管理系统。使用 django admin 填充的数据库中有数据。现在,当我在网站(前端)上显示数据时,有一个时间字段显示日期,虽然我开始学习 django,但我认为我的模型是错误的。下面我附上了我的 models.py 以及实际网站上的错误。
模型.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import time
from django.db import models
class Cart(models.Model):
def __str__(self):
return self.CartColor
CartColor = models.CharField(max_length=255)
Quantity = models.CharField(max_length=5)
class Initials(models.Model):
def __unicode__(self):
return self.Staff
Staff = models.CharField(max_length=255)
FirstName = models.CharField(max_length=255)
LastName = models.CharField(max_length=255)
class RTInfo(models.Model):
def __str__(self):
return str(self.TicketNo)
TicketNo = models.CharField(max_length=10)
# TickStamp = models.DateField(auto_now_add=True, blank=True)
class Room(models.Model):
def __unicode__(self):
return self.Number
Number = models.CharField(max_length=5)
class TCCheckOut(models.Model):
def __str__(self):
return str(self.ReturnDate)
ReturnDate = models.DateField(auto_now_add=True, blank=True)
ReturnTime = models.TimeField(auto_now_add=True, blank=True, unique_for_date=True)
OutQuantity = models.CharField(max_length=255)
Staff = models.ForeignKey(Initials, on_delete=models.CASCADE)
Number = models.ForeignKey(Room, on_delete=models.CASCADE)
CartColor = models.ForeignKey(Cart, on_delete=models.CASCADE)
TicketNo = models.ForeignKey(RTInfo, related_name="custom_user1_profile", on_delete=models.CASCADE)
# TickStamp = models.ForeignKey(RTInfo,related_name="custom_pass2_profile", on_delete=models.CASCADE)
class TCCheckIn(models.Model):
def __str__(self):
return str(self.Date)
Date = models.DateField(auto_now_add=True, blank=True)
Time = models.TimeField(auto_now_add=True, blank=True)
Quantity = models.CharField(max_length=255)
Staff = models.ForeignKey(Initials, on_delete=models.CASCADE)
Number = models.ForeignKey(Room, on_delete=models.CASCADE)
CartColor = models.ForeignKey(Cart, on_delete=models.CASCADE)
TicketNo = models.ForeignKey(RTInfo, related_name="custom_user_profile", on_delete=models.CASCADE)
ReturnDate = models.ForeignKey(TCCheckOut, related_name="value1", on_delete=models.CASCADE)
ReturnTime = models.ForeignKey(TCCheckOut, related_name="timeRet", on_delete=models.CASCADE)
OutQuantity = models.ForeignKey(TCCheckOut, related_name="value3", on_delete=models.CASCADE)
实际错误 Actual_error
从上图可以看出,即使正在保存时间,也会显示日期。还注意到,在 Django admin 中,上述时间字段也显示日期,下面附了一张图片
我假设,在 Django 管理员返回时间应该是一个时间戳,那么为什么显示日期?
感谢任何可以提供帮助的人!
【问题讨论】:
-
在您的
TCCheckIn模型中,您定义了ReturnTime,它是对TCCheckOut实例的引用,它的__str__()返回ReturnDate -
这里的工作是什么,因为如果我将 __str__() 更改为 ReturnTIme,那么日期显示错误......
标签: python django django-models django-forms django-views