我很奇怪为什么提供它.该字段依赖于数据库,是否使其完全不可靠?
我想将出生年份存储在模型中,有点像
class Person(models.Model):
name = models.CharField(max_length=256)
born = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
当然这需要很小的空间,它应该总是4"字符"长,所以一个PositiveSmallIntegerField可能适合,但为什么我应该选择它而不是正常的IntegerField?
我有一个模型,我需要存储出生年份.我正在使用django admin.使用它的人每天都会填满大量的人,而DateField()显示太多(对日/月不感兴趣).
这是一个模型模型,显示它现在如何:
class Person(models.Model):
name = models.CharField(max_length=256)
born = models.IntegerField(default=lambda: date.today().year - 17)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,大多数人都是17岁,所以我将他们的出生年份作为默认.
我能做得更好吗?如何从DateField中创建YearField?如果制作一个YearField我甚至可以制作一些"简单的标签",就像日期那样的"现在".(当然,一个专门的BornYearField将有1989,1990,1991和其他常见年份的简单按钮)
我正在创建一个人员组和成员资格,如Django docs中间模型所述.
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式从Group对象访问Person:
>>>Group.members.name
Run Code Online (Sandbox Code Playgroud)
Django是否创建了另一个查询来获取Person?我可以date_joined
从Group对象访问该字段吗?
令我困惑的是我希望获得Person name字段:
>>>Group.members.person.name
Run Code Online (Sandbox Code Playgroud)
如果Person有一个字段'name'并且中间模型有一个字段'name'会发生什么.
我希望使用React Native在长按不同位置触发上下文菜单.
即在像默认dailer的拨号器中.您可以长按任何联系人并获得"拷贝号"菜单.而且,一旦打开"联系卡",您就可以长按该人的姓名.
直接的方式需要大量的复制粘贴样板,包括组件和处理程序.
这样做有更好的模式吗?