小编sam*_*per的帖子

如何限制Django模型中数字字段的最大值?

Django有各种可用于模型的数字字段,例如DecimalFieldPositiveIntegerField.虽然前者可以限制在存储小数位的数量和字符的存储总数,有没有办法将其限制于存储在一定范围内的数字,如0.0-5.0?

如果失败了,有没有办法限制一个PositiveIntegerField只存储,例如,最多50个数字?

更新:现在Bug 6845 已经关闭,这个StackOverflow问题可能没什么问题. - sampablokuper

python django numbers django-models

144
推荐指数
6
解决办法
12万
查看次数

Django中唯一的BooleanField值?

假设我的models.py是这样的:

class Character(models.Model):
    name = models.CharField(max_length=255)
    is_the_chosen_one = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

我只想要我的一个Character实例is_the_chosen_one == True和其他所有实例is_the_chosen_one == False.如何才能最好地确保这种唯一性约束得到尊重?

考虑到尊重数据库,模型和(管理员)表单级别约束的重要性的答案的最高分!

database django django-models django-forms django-admin

76
推荐指数
9
解决办法
2万
查看次数

'git submodule init'有什么意义?

背景

要填充存储库的子模块,通常会调用:

git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)

在这种用法中,git submodule init似乎只做一件事:填充.git/config已经存在的信息.gitmodules.

那是什么意思?

不能git submodule update简单地使用来自的信息.gitmodules?这样可以避免:

  • 一个不必要的命令(git submodule init); 和
  • 不必要的数据重复(.gitmodules内容到.git/config).

或者:

  • 有用例git submodule init我不知道(在这种情况下,请赐教!); 要不然
  • git submodule init 可以在Git中弃用而没有任何伤害.

以下哪一项是正确的?

git rationale git-submodules

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

如何在vimdiff创建的分割下面打开一个新窗口?

如果,在命令提示符下,我运行

vimdiff file1 file2
Run Code Online (Sandbox Code Playgroud)

我得到一个vim实例,它有两个并排打开的文件,如下所示:

?????????????????
?       ?       ?
?       ?       ?
? file1 ? file2 ?
?       ?       ?
?       ?       ?
?????????????????
Run Code Online (Sandbox Code Playgroud)

这非常好,但有时我想打开第三个文件来查看.我不想创建另一个垂直分割,因为否则行会很短,我会一直水平滚动只是为了阅读它们.但是在屏幕底部占据几行不会受到伤害.那么,我怎样才能从上面做到以下几点:

?????????????????
?       ?       ?
? file1 ? file2 ?
?       ?       ?
?????????????????
?     file3     ?
?????????????????
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:sp file3,但我最终得到了这个(假设我在光标位于file1时运行了命令):

?????????????????
? file3 ?       ?
?       ?       ?
????????? file2 ?
? file1 ?       ?
?       ?       ?
?????????????????
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

vim split vimdiff text-editor

26
推荐指数
1
解决办法
2247
查看次数

使用单选按钮在Django admin中选择项目

这是我的models.py的一部分:

class Person(models.Model):
    birth_year = WideYear(null=True, blank=True)
    birth_year_uncertain = models.BooleanField()
    death_year = WideYear(null=True, blank=True)
    death_year_uncertain = models.BooleanField()
    flourit_year = WideYear(null=True, blank=True)
    flourit_year_uncertain = models.BooleanField()
    FLOURIT_CHOICES = (
        (u'D', u'Birth and death dates'),
        (u'F', u'Flourit date'),
    )
    use_flourit = models.CharField('Date(s) to use', max_length=2, choices=FLOURIT_CHOICES)
    def __unicode__(self):
        if self.personname_set.filter(default_name__exact=True):
            name = z(self.personname_set.filter(default_name__exact=True)[0])
        else:
            name = u'[Unnamed person]'
        if self.use_flourit == u'D':
            dates = '%s - %s' % (z(self.birth_year), z(self.death_year))
        else:
            dates = 'fl. %s' % (z(self.flourit_year))
        return '%s (%s)' % (name, dates) …
Run Code Online (Sandbox Code Playgroud)

javascript django-forms django-admin

23
推荐指数
1
解决办法
2658
查看次数

如何用java编程创建odt文件?

如何以编程方式使用Java创建odt(LibreOffice/OpenOffice Writer)文件?一个"你好世界"的例子就足够了.我查看了OpenOffice网站,但文档不清楚.

java openoffice.org odt

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

计算存储十进制数所需的位数

这是一个我坚持的功课问题.

考虑无符号整数表示.存储包含以下内容的十进制数需要多少位:

i) 3 digits ii) 4 digits iii) 6 digits iv) n digits
Run Code Online (Sandbox Code Playgroud)

我知道无符号整数的范围是0到2 ^ n,但我不知道表示数字所需的位数如何取决于它.请帮帮我.

提前致谢.

unsigned decimal unsigned-integer

18
推荐指数
3
解决办法
10万
查看次数

在vimdiff窗口之间复制行时撤消diff

如果,在命令提示符下,我运行

vimdiff file1 file2
Run Code Online (Sandbox Code Playgroud)

我得到一个vim实例,它有两个并排打开的文件.我们假设文件中的文本看起来像这样(file1在左边,file2在右边):

?????????????????
?foo    ?-------?
?bar    ?bar    ?
?grue   ?-------?
?~      ?~      ?
?~      ?~      ?
?????????????????
Run Code Online (Sandbox Code Playgroud)

现在假设我的光标位于"foo"的"f"上,并且我希望将file1的第一行复制到file2的第一行.

一种方法是使用v $ y选择并移动(复制)该行,然后使用Ctrl + wl将光标移动到file2的第一行,然后键入p以粘贴复制的行.如果我这样做,然后我决定我真的不想这样做,我可以按撤消我在file2中执行的粘贴命令.

另一种方法是使用diff put命令dp.但是,如果在执行此操作后我决定我不打算这样做,我无法通过按u来撤消它,因为我的光标仍在file1中,而u命令将撤消对file1的最新更改,而不是最多最近更改为file2.因此,我必须使用Ctrl + wlCtrl + ww将光标移动到file2的窗口,然后u.

所以,我的问题是:在我使用上面的dp之后,有没有简单的方法让我撤消它而不必将光标移动到另一个文件的窗口?

vim diff text vimdiff text-editor

16
推荐指数
2
解决办法
5988
查看次数

Rails控制台默认环境

在我的开发机器上:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"
Run Code Online (Sandbox Code Playgroud)

这是预料之中的.到现在为止还挺好.

然而在我的生产服务器上(我使用Capistrano部署),我得到了完全相同的结果:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"
Run Code Online (Sandbox Code Playgroud)

在任何一台机器上,我都可以这样做:

$ bundle exec rails console production
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "production"
Run Code Online (Sandbox Code Playgroud)

我的问题是:在生产服务器上,不应该bundle exec rails console默认加载生产环境而不是开发环境?如果没有,为什么不呢?

ruby capistrano ruby-on-rails ruby-on-rails-3.2 rvm-capistrano

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

在CSS中定位AFTER变换?

考虑以下尝试将一个段落旋转90度并将其定位,使得最初位于其左上角的角(因此在旋转后成为其右上角)最终位于该角的右上角.父块.

HTML:

<!DOCTYPE html>
<html>
<body>
  <div id="outer">
    <p id="text">Foo bar</p>
  </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS:

#outer {
    border: solid 1px red;
    width:600px;
    height: 600px;
    position: relative;
}

#text {
        transform: rotate(90deg); 
        position: absolute;
        top: 0;
        right: 0;
}
Run Code Online (Sandbox Code Playgroud)

在OS X 10.6.8上的Firefox 19.0.2中,它失败了.这似乎是因为,尽管给出了CSS属性的顺序,但在定位之后应用变换.换句话说,浏览器:

  1. 地方#text使得它的右上角位于父块的右上角,但只有
  2. 旋转它,结果现在它的右上角不在父块的右上角.

因此,transform-origin这里的财产用处不大.例如,如果使用的transform-origin: top right;那个,则#text需要向下移动它旋转前的宽度.

我的问题:有没有办法告诉浏览器在轮换应用CSS定位属性; 如果没有,那么是否有一种方法可以#text向下移动(例如使用top:)它旋转的宽度

NB.理想情况下,解决方案不应要求width:为其设置固定#text,并且不得要求JavaScript.

css transform css3

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