如何启用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.
有任何想法吗?
我将项目从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) 我有以下示例:
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 等效的内容。
我正在尝试使用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) 在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中的正向外键和反向外键是什么?
我创建了一个出价模型,以便第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: …