小编odi*_*ont的帖子

Django有SmallIntegerField的原因是什么?

我很奇怪为什么提供它.该字段依赖于数据库,是否使其完全不可靠?

我想将出生年份存储在模型中,有点像

class Person(models.Model):
  name = models.CharField(max_length=256)
  born = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

当然这需要很小的空间,它应该总是4"字符"长,所以一个PositiveSmallIntegerField可能适合,但为什么我应该选择它而不是正常的IntegerField?

django django-models

30
推荐指数
3
解决办法
2万
查看次数

只在django admin中显示年份,YearField而不是DateField?

我有一个模型,我需要存储出生年份.我正在使用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 datetime django-admin datefield

28
推荐指数
4
解决办法
2万
查看次数

访问Django中间模型中的字段

我正在创建一个人员组和成员资格,如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'会发生什么.

django model

19
推荐指数
1
解决办法
1万
查看次数

在React Native中长按打开上下文菜单

我希望使用React Native在长按不同位置触发上下文菜单.

即在像默认dailer的拨号器中.您可以长按任何联系人并获得"拷贝号"菜单.而且,一旦打开"联系卡",您就可以长按该人的姓名.

直接的方式需要大量的复制粘贴样板,包括组件和处理程序.

这样做有更好的模式吗?

react-native react-native-popup-menu

4
推荐指数
2
解决办法
8704
查看次数