小编Adr*_*ián的帖子

南迁:"数据库后端不接受0作为AutoField的值"(mysql)

我是django的新手,并试图将一个外键带回给受让人和记者的用户.但是,当我尝试将更改应用于南方时,我得到了错误

ValueError: The database backend does not accept 0 as a value for AutoField.
Run Code Online (Sandbox Code Playgroud)

我的型号代码:

class Ticket(models.Model):
    title = models.CharField(max_length=80)
    text = models.TextField(blank=True)
    prioritys = models.ForeignKey(Prioritys)
    ticket_created = models.DateTimeField(auto_now_add=True)
    ticket_updated = models.DateTimeField(auto_now=True)
    assignee = models.ForeignKey(User, null=True, related_name='assignee')
    reporter = models.ForeignKey(User, null=True, related_name='reporter')

    def escaped_text(self):
        return markdown.markdown(self.text)

    def __unicode__(self):
        return self.text
Run Code Online (Sandbox Code Playgroud)

python django django-south

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

Scala Slick Lazy Fetch

我希望能够使用Slick从一个非常大的表中获取所有记录.如果我试图通过foreach,for或list fetching来做到这一点; 我得到了一个Out of Memory Exception.

有没有办法使用Slick或延迟加载的"游标",只在需要时获取对象减少使用的内存量?

scala slick

14
推荐指数
1
解决办法
3452
查看次数

Django raw_id_fields小部件没有显示搜索图标

我的admin.py中有以下代码:

class UserManagedGroupAdmin(admin.ModelAdmin):
    inlines = [MembershipInline]
    search_fields = ('name', 'leader__username', )
    list_display = ('__unicode__', 'leader', )
    filter_horizontal = ('permissions', )
    raw_id_fields = ('leader', )

admin.site.register(UserManagedGroup, UserManagedGroupAdmin)
Run Code Online (Sandbox Code Playgroud)

用于搜索的放大镜图标未显示在管理页面中.

这就是我得到的:

在此输入图像描述

正如您所看到的那样,它显示的是模型的unicode方法,而不是我想要的搜索图标.

现场'leader'是一ForeignKeyUser.

难道说Django的禁用搜索ForeignKeysUser出于安全原因,还是我做错了什么?

小部件非常适合选择用户...我的意思是,我不能在我的网站的每个用户那里留下一个巨大的选择.

谢谢.

django django-admin

12
推荐指数
1
解决办法
3333
查看次数

GeoDjango 和 Postgis 中以米为单位的距离内位置的最佳查询

我在具有 GeoDjango 的默认 SRID、WGS84 的 Postgis 数据库中有几何图形,并且发现直接以度为单位的查找比以公里为单位要快得多,因为数据库可以跳过我认为的投影。

基本上,Place.objects.filter(location__distance__lte=(point, D(km=10)))Place.objects.filter(location__dwithin=(point, 10))第一个查询产生表的完整扫描慢几个数量级。但有时我需要查找以公里为单位的距离阈值的地方。

是否有某种精确的方法将 10 公里转换为查询的度数?也许我应该使用另一个具有相同性能的等效查找?

gis django postgis geolocation geodjango

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

即使没有改变任何东西,Pymongo replace_one modified_count 总是 1

为什么以及如何像这样工作?

item = db.test.find_one()
result = db.test.replace_one(item, item)
print(result.raw_result)
# Gives: {u'n': 1, u'nModified': 1, u'ok': 1, 'updatedExisting': True}
print(result.modified_count)
# Gives 1
Run Code Online (Sandbox Code Playgroud)

当 mongodb shell 中的等效项始终为 0 时

item = db.test.findOne()
db.test.replaceOne(item, item)
# Gives: {"acknowledged" : true, "matchedCount" : 1.0, "modifiedCount" : 0.0}
Run Code Online (Sandbox Code Playgroud)

如何获得一致的结果并正确检测替换何时实际更改数据?

python mongodb pymongo

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

django模型:如何克服'通过'ManyToMany选项限制

我正在开发一个应用程序,允许用户自己创建和管理用户组.

问题是我想存储哪个用户向任何组添加了新成员.

这些是我目前的模特:

class UserManagedGroup(Group):

    leader = models.ForeignKey(User, verbose_name=_('group leader'), related_name='leaded_groups')
    members = models.ManyToManyField(User, verbose_name=_('members'), through='Membership',
                                     related_name='managed_groups')

class Membership(models.Model):

    user = models.ForeignKey(User, related_name='memberships')
    group = models.ForeignKey(UserManagedGroup, related_name='memberships')
    info = models.OneToOneField('MembershipInfo', verbose_name=_('membership information'))

    class Meta:
        unique_together = ['user', 'group']

class MembershipInfo(models.Model):

    date_added = models.DateField(_('date added'), auto_now_add=True)
    made_member_by = models.ForeignKey(User, verbose_name=_('user who made him a member'))
    membership_justification = models.TextField(_('membership justification'), blank=True, default='')


@receiver(signals.post_delete, sender=Membership)
def delete_membership_info(sender, instance, *args, **kwargs):
    if instance.info.pk:
        instance.info.delete()
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我有一个愚蠢的MembershipInfo模型,Membership由于其领域的性质,它更适合合并.此外,MembershipInfos生命受其约束Membership(这就是为什么我必须创建这个post_delete信号连接).

由于这个原因,我无法合并它们: …

django foreign-keys django-models foreign-key-relationship

4
推荐指数
1
解决办法
978
查看次数

会话对敏感数据安全吗?

我来自会话文档,试图找出会话对敏感数据的安全性.

我想缓存远程连接,更具体地说是SSH连接.

文档提到了泡菜的一些安全问题,但这不是我正在寻找的.

会话是否会以纯文本形式存储SSH身份验证数据(无论是在数据库,文件还是在任何地方)?

django session django-sessions

4
推荐指数
1
解决办法
1150
查看次数

懒惰的类属性装饰器

我有一个django模型,需要参考自定义用户模型进行一些处理。

在类加载时,我无法使用此模型的类,因为类的加载顺序是未知的。

因此,我需要在运行时添加一些类属性,此刻,我需要将它们添加到中__init____new__类似的地方:

def __new__(cls, *args, **kwargs):
    # hack to avoid INSTALLED_APPS initialization conflicts.
    # get_user_model() can't be called from this module at class loading time,
    # so some class attributes must be added later.
    # Metaclasses could me more appropiate but I don't want to override
    # dango's metaclasses.
    if not hasattr(cls, '_reverse_field_name_to_user'):
        cls._find_reverse_field_name_to_user()
    return Group.__new__(cls, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是看起来很可怕,所以我考虑过@lazyclassproperty对这些属性使用类似的东西。

我已经发现了几个@classproperty@lazyproperty装修而不是一个两个,我不知道如何写一个自己。

问题:如何编码这样的装饰器?或建议另一种更清洁的方法替代我目前的愚蠢实施。

python django decorator lazy-evaluation class-attributes

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