我有一个模型团队
class Team(models.Model):
team = models.IntegerField(primary_key=True)
name = models.CharField(max_length=170)
code = models.CharField(max_length=20)
logo = models.URLField(null=True)
country_id = models.ForeignKey('Country',null=True, on_delete=models.SET_NULL)
founded = models.DateField(null=True)
venue_name = models.CharField(max_length=170)
venue_surface = models.CharField(max_length=170)
venue_address = models.CharField(max_length=200)
venue_city = models.CharField(max_length=150)
venue_capacity = models.IntegerField(null=True)
lastModified = models.DateTimeField(auto_now=True)
我想从此模型创建对象,其中 founded 字段的输入数据仅是年份数据,例如 1970
我该怎么做。预先感谢
答案 0 :(得分:1)
如果您只想存储创建字段的年份,则可以尝试使用PositiveSmallIntegerField。
class Team(models.Model):
# Other Fields
founded = models.PositiveSmallIntegerField(null=True)
您可以添加自己的验证器,或使用模型的clean
方法来验证用户是否输入了正确的年份。
如果只想使用DateField,则在这种情况下,必须为日期和月份提供默认值,如果年份是1970,则可以像01/01/1970和可以使用obj.founded.year