小编Val*_*hio的帖子

CommandError:您似乎没有安装“psql”程序或在您的路径上

我使用的是 Windows,没有 virtualenv。我使用 Pip 安装了 psycopg2,还安装了最新版本的 PostgreSQL。

当我运行时./ manage.py dbshell,出现以下错误:

CommandError: You appear not to have the 'psql' program installed or on your path.
Run Code Online (Sandbox Code Playgroud)

当我跑步时./ manage.py dbshell psql,我得到这个:

usage: manage.py dbshell [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                         [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                         [--database DATABASE]
manage.py dbshell: error: unrecognized arguments: psql
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些关于此错误的其他帖子但我不明白为什么这对我不起作用。我已正确配置所有设置,并安装所有正确的应用程序。

我的设置.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '********',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我没有将 Postgres 的 /bin …

python django postgresql django-database django-settings

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

"url"关系"app_model"上的ProgrammingError不存在第1行:SELECT COUNT(*)AS"__count"FROM"app_model"

我已经针对此错误搜索了每个Stack Overflow问题,但没有一个响应有帮助.我在尝试访问此特定模型的管理页面(AgentBasicInfo)时收到此错误.

'manage.py makemigrations'工作正常.'manage.py migrate'也运行正常.'manage.py runserver'工作正常,整个网站工作正常,直到我尝试进入此模型的管理页面.

该应用已正确安装在settings.py中的INSTALLED_APPS中.我正在使用Postgres作为数据库.

我试过了...

  1. 删除迁移并重新运行makemigrations/migrate
  2. 删除此应用的整个迁移文件夹并重新运行makemigrations/migrate
  3. 从我的所有应用中删除所有迁移并重新运行makemigrations/migrate
  4. 我尝试过运行'manage.py migrate'和'mangae.py migrate app_name'.我仍然得到同样的错误.

这个模型(见下面的代码)非常基础.我的项目中还有其他几个模型,它们在管理员中运行得很好,但只是这个特定的模型不起作用.

models.py

class AgentBasicInfo(models.Model):

    preferred_email = models.EmailField()
    office_phone_number = models.IntegerField()
    brokerage_of_agent = models.CharField(max_length=50)
    agent_title = models.CharField(max_length=20)

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

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': 'lagger123',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
Run Code Online (Sandbox Code Playgroud)

错误图片供参考

0001_initial.py

from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='AgentBasicInfo',
            fields=[ …
Run Code Online (Sandbox Code Playgroud)

python django migrate makemigrations

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

我用什么作为MX记录的主机名? - Mailgun

对不起新手问题.

在MX记录的Mailgun文档中,它没有说明要使用的主机名.

所以我使用了我的默认域名,比如example.com.但这似乎不起作用.我的TXT和CNAME记录已经过验证,但我的MX记录却没有.

我应该将什么作为验证MX记录的主机名?

mailgun

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

Django ValueError - 没有足够的值来解包(预期2,得1)

当我尝试浏览我的listing_public页面时,在标题中出现错误,无法弄清楚原因.

views.py

def listing_public(request, pk):

    listing = get_object_or_404(BuyerListing, pk)

    return render (
        request,
        'listing_public.html',
        context={'listing':listing}
    )
Run Code Online (Sandbox Code Playgroud)

urls.py

url(r'^listing/(?P<pk>\d+)/$', views.listing_public, name='listing_public'),
Run Code Online (Sandbox Code Playgroud)

模板标签

{% url 'listing_public' pk=listing.pk %}
Run Code Online (Sandbox Code Playgroud)

是关于此错误的Stack Overflow上唯一的另一个问题,但唯一的答案并没有解决我的问题.这是追溯.

django

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

Heroku 上的 Django - / 关系“...”处的编程错误不存在

我收到这个错误。我知道您通常会收到此错误,因为数据库未正确迁移。

当我运行时heroku local web,该网站在我访问时运行良好localhost:5000

但是,在我将应用程序部署到 heroku 后git push heroku master,错误出现了。

换句话说,它适用于我的本地环境。但是部署到heroku后它不起作用。

我在 heroku 中安装了 Heroku-Postgres 作为附加组件。

什么可能导致这种情况?

django heroku

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

Django - 将 PostGIS 数据库与 PostgreSQL 数据库一起使用,我需要 2 个数据库吗?

我目前使用的是一个带有标准设置的 PostgreSQL 数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '',
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以继续使用默认的 postgres 设置,而只是CREATE EXTENSION postgis在 shell 中执行以访问 postgis 功能吗?或者我需要单独添加一个postgis数据库,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '',
    }
    'geodata': {
         'ENGINE': 'django.contrib.gis.db.backends.postgis',
         'NAME': 'geodjango',
         'USER': 'geo',
    },
}
Run Code Online (Sandbox Code Playgroud)

django geodjango django-postgresql

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

Django - 如何设置两个具有相同字段的模型?

我有一个拥有 20 年销售历史的房地产应用程序。我想将最近 2 年的列表放入一个将被主动查询的模型中,将另外 18 年的列表放入一个存档模型中。

我正在使用 Django 1.11 和 Postgresql 9.5

我有限的数据库管理知识告诉我这称为“水平分区”或“分片”。有没有一种聪明的方法可以在 Django 中进行设置?或者我只需将相同的字段名称复制并粘贴到 和ListingActiveListingArchive

class ListingActive(models.Model):
    data1 = models.IntegerField()
    data2 = models.CharField(max_length=10)
    ...
    data100 = models.CharField(max_length=20)

class ListingArchived(models.Model):
    same fields as ListingActive
Run Code Online (Sandbox Code Playgroud)

后续问题。我想同时执行水平分区垂直分区。

假设每个Listing模型中总共有 100 个字段,但只有 10 个字段被主动查询。其他90个字段是显示详细信息,永远不会被查询。

最后,我想要总共 4 个模型,如下所示。有没有办法使用抽象模型或其他方法来设置它?

class ListingActiveQuery(models.Model):
    actively_queried_data_1 = models.IntegerField()
    actively_queried_data_2 = models.IntegerField()
    ...
    actively_queried_data_10 = models.IntegerField()
    details = models.OneToOneField(ListingActiveDetails)

class ListingActiveDetails(models.Model):
    data_1 = models.IntegerField()
    data_2 = models.IntegerField()
    ...
    data_90 = models.IntegerField()

class …
Run Code Online (Sandbox Code Playgroud)

django postgresql

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

为什么 JSON 文件比具有相同内容的 .txt 文件小得多?

我正在将 JSON 文件(来自 ajax 调用)转换为 CSV。

当JSON文件发送给我时,它是80kb。

当我将 JSON 文件的内容保存到 .txt 文件中时,它变成了 291kb!

将 .txt 文件转换为 .csv 文件后,大小为 240kb。

我从 ajax 调用收到的 JSON 文件如何比我创建的具有相同内容的 .txt 文件小得多?有没有办法减小最终产品的尺寸?

编辑:

这就是我获取文件大小的方式。

  1. 我找到了 AJAX 请求,并检查了它的文件大小。 链接。如您所见,它大约为 80kb。
  2. 我复制了请求的来源。 链接
  3. 然后我将源代码复制并粘贴到一个空白的 .txt 文件中。结果是一个大小为 291 kb 的 .txt 文件。

编辑:

我不认为 .txt 到 .csv 转换问题是问题,但这是我的代码:

import json
import csv
import re

with open('jjj.txt') as f:
    f = f.read()

parsed = json.loads(f)
unix_time = re.compile(r'(\d\d\d\d\d\d\d\d\d\d\d\d\d)')

data = parsed['d']['tables'][0]['rows']
for i in data:
    for a in …
Run Code Online (Sandbox Code Playgroud)

json export-to-csv

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

Python - 循环列表中的选定索引

假设我有一个包含10个数字的列表: a = [0,1,2,3,4,5,6,7,8,9]

我想得到第二位数字,第5-8位数字和最后一位数字.就像是:

for i in (a[1], a[4:7], a[9]):
    print(i)
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python

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

Django - 在.update()中执行复杂的操作

我有以下型号:

class Address(models.Model):
    full_address = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

有些full_address以"地区"结尾.例子:

  1. 123 Main Street,Markham,York Region
  2. 1 Bloor Street,Mississauga,Peel Region

我想从任何full_address以它结尾的字段中删除"Region" .

这是一个可能的解决方案,但它很慢,因为你需要Address逐个遍历:

for i in Address.objects.filter(full_address__endswith=' Region'):
    i.full_address = i.full_address[:-7]
    i.save()
Run Code Online (Sandbox Code Playgroud)

有没有办法实现上述功能Address.objects.update()

django django-models

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