相关疑难解决方法(0)

如何记录PostgreSQL查询?

如何启用PostgreSQL 8.3执行的所有SQL的日志记录?

编辑(更多信息) 我更改了这些行:

log_directory = 'pg_log'                    
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_statement = 'all'
Run Code Online (Sandbox Code Playgroud)

并重新启动PostgreSQL服务...但没有创建日志...我正在使用Windows Server 2003.

有任何想法吗?

postgresql logging

354
推荐指数
10
解决办法
37万
查看次数

将Django从1.6更新为1.8:select_related中给出的字段名称无效

我将项目从Django 1.6.7更新到1.8.7并且我在Django 1.8中有以下异常,尽管使用Django 1.6它的代码是正确的:

In[2]: from apps.route import models
In[3]: models.Trace.objects.select_related("trace_points")
Out[3]: <repr(<django.db.models.query.QuerySet at 0x3b50c10>) failed: django.core.exceptions.FieldError: Invalid field name(s) given in select_related: 'trace_points'. Choices are: user>
Run Code Online (Sandbox Code Playgroud)

我的模特:

class Trace(SocialMixin, models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='traces')
    name = models.CharField(u'????????', max_length=255)
    rating = RatingField(range=5, weight=0)
    start_date = models.DateTimeField(u'???? ??????')
    finish_date = models.DateTimeField(u'???? ?????????', null=True, blank=True)
    distance = models.DecimalField(max_digits=15, decimal_places=6, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    hits = generic.GenericRelation(HitCount, object_id_field='object_pk')
    description = models.TextField(null=True, blank=True)

class TracePoint(models.Model):
    country = models.ForeignKey(Country, null=True, blank=True)
    city = models.ForeignKey(City, …
Run Code Online (Sandbox Code Playgroud)

django django-select-related

5
推荐指数
2
解决办法
6246
查看次数

select_相关字段的调用管理器

我有以下示例:

class Profile(models.Model):
    ...

class Person(models.Model):
    profile = models.ForeignKey(Profile, ...)
Run Code Online (Sandbox Code Playgroud)

我有复杂的 Profile 类模型管理器,并且我构建了一个视图来列出大量人员。我尝试计算数据库中的所有内容,因此我想从 Person QuerySet 调用配置文件管理器。

为此,我需要执行以下操作:

Person.objects.filter(...).select_related('profile', queryset=Profile.objects.with_computed_revenue().all())
Run Code Online (Sandbox Code Playgroud)

然后我应该能够从 SQL 中检索 person.profile.compulated_revenue,其中函数“with_compulated_revenue”是 ProfileManager 的一个函数,用于注释compulated_revenue。

最终目标是添加亲自查询集:

.values('profile__computed_revenue')
Run Code Online (Sandbox Code Playgroud)

使用 Prefetch 来实现 prefetch_lated 似乎是可能的,但我找不到与 select_lated 等效的内容。

django

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

prefetch_related()的参数无效

我正在尝试使用PersonScore在这3个表上进行内部联接,但找不到人类型。我究竟做错了什么?

楷模:

class PersonScore(models.Model):
    id = models.IntegerField(primary_key=True)  # AutoField?
    person = models.ForeignKey(‘Person’)

class Person(models.Model):
    id = models.IntegerField(primary_key=True)  # AutoField?
    name = models.CharField(max_length=255)

class PersonType(models.Model):
    person = models.ForeignKey(‘Person’)
    type = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

码:

PersonScore.objects.filter(person__name="Bob").prefetch_related("person__persontype")
Run Code Online (Sandbox Code Playgroud)

错误:

Cannot find 'persontype' on Person object, 'person__persontype' is an invalid parameter to prefetch_related()
Run Code Online (Sandbox Code Playgroud)

码:

PersonScore.objects.filter(person__name="Bob").prefetch_related("person__persontype_set")
Run Code Online (Sandbox Code Playgroud)

错误:

KeyError: (1L,)
Run Code Online (Sandbox Code Playgroud)

django django-models django-orm

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

Django 中的“正向外键”和“反向外键”是什么?

在Stack Overflow等网站上阅读与 Django 的select_lated()prefetch_lated()相关的主题时,我经常看到“正向外键”和“反向外键”这两个词,但我在 Django 文档中找不到定义:

# "models.py"

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=20)

class Product(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    name = models.CharField(max_length=50)
    price = models.DecimalField(decimal_places=2, max_digits=5)
Run Code Online (Sandbox Code Playgroud)

那么, Django中的正向外键反向外键是什么?

python django django-models reverse-foreign-key

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

Python:如何在我的Django模板中传递外键的值?

我创建了一个出价模型,以便第2类用户可以对第1类用户创建的某些"帖子"出价.为实现这一目标,我在"Bid"模型中为post field创建了一个外键.

实际上我想将出价与'post'模型中的自动生成'id'的特定帖子联系起来.所以我在我的模板中将get_absolute_url放在Post'id'旁边.我是django的新手,我不确定它是否适用于我想要的东西.

如何将出价与post_id关联到模板中的特定帖子,以便我可以获得各种类型2用户针对特定帖子的出价金额?我很乐意帮助我解决这个问题.

这是我的代码:

Models.py:

class Post(models.Model):

    post_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
    from1 = models.CharField(max_length=20)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)

    objects = PostManager()

    def __str__(self):
        return self.post_id

    def get_absolute_url(self):
        return reverse("posts:detail", kwargs={"id": self.post_id})

    class Meta:
        ordering = ["-timestamp", "-Time"]

class Bid(models.Model):

    bid_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    post = models.ForeignKey(Post, default=uuid.uuid4, related_name='bids' )
    user = models.OneToOneField(settings.AUTH_USER_MODEL, null=True, blank=True, unique=False)
    amount = models.IntegerField()

    def get_absolute_url(self):
        return reverse("accept_bid", kwargs={"bid_id": self.bid_id})

    def __unicode__(self):
        return self.amount

    def __str__(self):
        return self.amount
Run Code Online (Sandbox Code Playgroud)

forms.py: …

django foreign-keys django-models django-views

0
推荐指数
1
解决办法
1333
查看次数