小编Sam*_*lay的帖子

在Django CharFields中自动截断max_length处的字段

我有一个有一套的字段max_length.当我保存模型实例,并且字段的值大于时max_length,Django max_length在数据库级别强制执行该操作.(参见关于模型的Django文档:http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.CharField.max_length)

但是,由于我使用的是Postgres,我收到如下的DatabaseError异常:

DatabaseError: value too long for type character varying(1000)
Run Code Online (Sandbox Code Playgroud)

我宁愿自动截断该值(所以我没有例外).现在,我可以手动执行此操作,但我真正想要的是让我的所有模型自动截断该值.(不一定是聪明的.只要在第999个角色切断它就可以了.)

我应该只编写一个从models.Model导入的自定义类,并覆盖save()方法,循环遍历每个_meta.field,检查max_length,然后截断?这似乎不够优雅,必须有更好的方法.

django postgresql django-models

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

在Mac OSX下检测连接的USB设备

首先是一个声明:在为Mac编程方面,我是一个新手.但是我有一个需要与设备进行USB通信的任务,所以我想我会从基本的东西开始.

我从这里获取代码,构建它并从终端运行它.它启动并写入:

寻找符合供应商ID = 1351和产品ID = 8193的设备.

开始运行循环.

然而,在此之后,如果我插入和拔出USB设备(我尝试过:iPod,GPS,鼠标)屏幕上没有任何内容,尽管我理解的应该是每当我连接和断开设备时.

我究竟做错了什么?

提前致谢.

c macos usb

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

使用forked git存储库,但我克隆了公共repo URL,而不是私有URL

git是新手,所以希望这是一个简单的答案简单的问题.

我在GitHub上分叉了一个存储库.然后我使用公共repo URL在本地计算机上克隆它:git@github.com:samuelclay/django-mingus.git而不是私有repo URL : git://github.com/samuelclay/django-mingus.git.

我对代码进行了一些更改,提交了这些更改,并且为了将我的更改推送到我的分支仓库,我发布了:git remote add upstream git://github.com/samuelclay/django-mingus.git然后git push upstream,虽然这不会给我一个错误(它说的一切都达到了 -日期),肯定不会将我的更改推向GitHub.

有没有办法更改为私人repo URL?这甚至是必要的吗?

git github

5
推荐指数
1
解决办法
684
查看次数

当数据在其他地方发生变化时迭代大型 Django 查询集

迭代查询集,如下所示:

class Book(models.Model):
    # <snip some other stuff>
    activity = models.PositiveIntegerField(default=0)
    views = models.PositiveIntegerField(default=0)

    def calculate_statistics():
        self.activity = book.views * 4
        book.save()

def cron_job_calculate_all_book_statistics():
    for book in Book.objects.all():
        book.calculate_statistics()
Run Code Online (Sandbox Code Playgroud)

...工作得很好。然而,这是一个 cron 任务。book.views发生这种情况时正在增加。如果book.views在此 cronjob 运行时进行修改,则会将其恢复。

现在,book.views它不会被 cronjob 修改,但会在.all()查询集调用期间被缓存。当 时book.save(),我有一种感觉它正在使用旧book.views值。

有没有办法确保只activity更新字段?或者,假设有 100,000 本书。这将需要相当长的时间才能运行。但是book.views将从查询集最初开始运行时开始。解决方案是仅使用 吗.iterator()

更新:这实际上是我正在做的事情。如果您对如何使其内联工作有想法,那么我完全支持。

def calculate_statistics(self):
    self.activity = self.views + self.hearts.count() * 2
    # Can't do self.comments.count with a comments GenericRelation, because …
Run Code Online (Sandbox Code Playgroud)

python django django-models

5
推荐指数
1
解决办法
2512
查看次数

NSSelectorFromString 在 Swift 3 中带有命名参数

在 Swift 2.3 中,我可以动态调用使用NSSelectorFromString("methodWithArg:"). 在 Swift 3 中,我必须添加_一个命名参数以允许在没有名称的情况下调用它。

这还有可能吗?有关测试用例,请参阅此操场代码。

class Parent : NSObject {
    func parentSelector(_ arg: String) {
        print(" ---> Selected: \(arg)")
    }
    func test(_ selectorString: String, _ printString: String) {
        let selector : Selector = NSSelectorFromString(selectorString)
        // if self.responds(to: selector) {
            self.perform(selector, with: printString)
        // }
    }
}

class Child : Parent {
    func childSelector(_ arg: String) {
        print(" ---> Child selected: \(arg)")
    }
    func namedChildSelector(arg: String) {
        print(" ---> Child selected: \(arg)")
    } …
Run Code Online (Sandbox Code Playgroud)

swift swift3

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

标签 统计

django ×2

django-models ×2

c ×1

git ×1

github ×1

macos ×1

postgresql ×1

python ×1

swift ×1

swift3 ×1

usb ×1