小编hel*_*ate的帖子

使用django-rest-framework序列化程序检索外键值

我正在使用django rest框架来创建API.我有以下型号:

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

    def __unicode__(self):
        return self.name


class Item(models.Model):
    name = models.CharField(max_length=100)
    category = models.ForeignKey(Category, related_name='items')

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

要为我要做的类别创建一个序列化器:

class CategorySerializer(serializers.ModelSerializer):
    items = serializers.RelatedField(many=True)

    class Meta:
        model = Category
Run Code Online (Sandbox Code Playgroud)

......这会为我提供:

[{'items': [u'Item 1', u'Item 2', u'Item 3'], u'id': 1, 'name': u'Cat 1'},
 {'items': [u'Item 4', u'Item 5', u'Item 6'], u'id': 2, 'name': u'Cat 2'},
 {'items': [u'Item 7', u'Item 8', u'Item 9'], u'id': 3, 'name': u'Cat 3'}]
Run Code Online (Sandbox Code Playgroud)

我如何从Item序列化器获得反向,即:

[{u'id': 1, 'name': 'Item 1', 'category_name': u'Cat …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

57
推荐指数
7
解决办法
8万
查看次数

尝试连接到远程MySQL主机(错误2003)

我有一个在Debian服务器上运行的MySQL实例,我可以在本地连接到它,没有任何问题.但是,我无法远程连接到它.当我从命令行尝试这个时,我收到以下错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '<server-ip>' (110)
Run Code Online (Sandbox Code Playgroud)

我已将用户添加到mysql为'user'@'*'和'user'@'localhost'.此服务器中的skip-networking设置为false,并在my.cnf中注释掉绑定地址.我还尝试使用以下命令在iptables中打开端口3306:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

这是我所有iptable防火墙规则的列表,我使用iptables -L进行了检索:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     tcp  --  anywhere             anywhere            tcp dpt:auth reject-with icmp-port-unreachable 
ACCEPT     icmp --  anywhere             anywhere            icmp type 8 code 0 state NEW,RELATED,ESTABLISHED,UNTRACKED 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            tcp spts:1024:65535 dpt:ftp state NEW 
ACCEPT     tcp …
Run Code Online (Sandbox Code Playgroud)

mysql debian iptables mysql-error-2003

26
推荐指数
1
解决办法
7万
查看次数

如何设置MySQL数据库默认使用MyISAM?

我有一个MySQL服务器,它的默认存储引擎设置为InnoDB.我有一个项目,要求数据库中的表是MyISAM.我想创建一个带有标志的数据库,将默认存储引擎设置为MyISAM.这是否可以在不更改服务器默认值的情况下,也无需手动指定每个表?

mysql

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

setAttribute 和 setAttributeNode 有什么区别?

我现在正在玩 PHP 的DOMDocument。正如问题所述,这两种方法之间有什么区别(除了需要将 DOMAttr 传递给 setAttributeNode 之外)以及应该在什么情况下使用它们?

php dom

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

django-haystack - 在索引中添加新字段导致错误后更新索引

我有一个django网站,它使用Haystack和Xapian后端进行搜索索引.我为其中一个被索引的模型添加了一个新字段,然后将该字段添加到该模型的SearchIndex中.我跑了:

python manage.py update_index

要更新索引,但我收到以下错误:

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python2.6/dist-packages/django_haystack-1.0.1_final-py2.6.egg/haystack/management/commands/update_index.py", line 51, in handle
    self.handle_app(None, **options)
  File "/usr/local/lib/python2.6/dist-packages/django_haystack-1.0.1_final-py2.6.egg/haystack/management/commands/update_index.py", line 107, in handle_app
    index.backend.update(index, small_cache_qs[start:end])
  File "/usr/local/lib/python2.6/dist-packages/xapian_haystack-1.1.3beta-py2.6.egg/xapian_backend.py", line 204, in update
    data = index.prepare(obj)
  File "/usr/local/lib/python2.6/dist-packages/django_haystack-1.0.1_final-py2.6.egg/haystack/indexes.py", line 102, in prepare …
Run Code Online (Sandbox Code Playgroud)

django django-haystack

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

Webpack + Karma + ES2015:Uncaught SyntaxError:意外的令牌导入

我正在创建一个基于Webpack和angular的应用程序.我正在尝试使用Mocha和Chai为单元测试添加Karma.但是,当我尝试运行我的测试时,我收到以下错误:

Chrome 52.0.2743 (Linux 0.0.0) ERROR
    Uncaught SyntaxError: Unexpected token import
    at app/app.js:3
Run Code Online (Sandbox Code Playgroud)

正如您在下面的webpack配置中看到的,我正在使用babel-loader.我已经用Google搜索了这个问题并在StackOverflow上进行了搜索,虽然有很多结果,但提出的解决方案都没有对我有用.

这是我的Webpack配置:

'use strict';

const webpack = require('webpack');
const path = require('path');
const autoprefixer = require('autoprefixer');

const APP = __dirname + '/app';
module.exports = {
  context: APP,
  entry: {
    app: ['webpack/hot/dev-server', './core/bootstrap.js',],
  },
  output: {
    path: APP,
    filename: 'bundle.js',
  },
  module: {
    loaders: [
      {
        test: /\.html$/,
        loader: 'raw',
      },
      {
        test: /\.(jpe?g|png|gif|svg)$/i,
        loaders: [
          'file?hash=sha512&digest=hex&name=img/[path][hash].[ext]',
          'image-webpack',
        ],
      },
      {
        test: /\.scss$/,
        loader: 'style!css!postcss!sass!sass-resources!scsslint',
      },
      {
        test: …
Run Code Online (Sandbox Code Playgroud)

javascript testing karma-runner webpack

5
推荐指数
0
解决办法
2012
查看次数

使用SQLAlchemy-Migrate创建具有外键约束的表时出错

我在python中构建一个应用程序.我正在使用sqlalchemy-migrate来跟踪我的数据库架构.我有一个表user_category,它有两列:id和name.我正在尝试使用user_category表的外键创建一个用户表.我创建用户表的更改脚本如下:

from sqlalchemy import *
from migrate import *
from migrate.changeset import *

meta = MetaData()
user_category = Table('user_category', meta)

user = Table('user', meta,
    Column('id', Integer, primary_key=True),
    Column('email', String(255)),
    Column('first_name', String(40)),
    Column('surname', String(40)),
    Column('password', String(255)),
    Column('user_category', Integer, ForeignKey("user_category.id")),
)

def upgrade(migrate_engine):
    # Upgrade operations go here. Don't create your own engine; bind migrate_engine
    # to your metadata
    meta.bind = migrate_engine
    user.create()

def downgrade(migrate_engine):
    # Operations to reverse the above upgrade go here.
    meta.bind = migrate_engine
    user.drop()
Run Code Online (Sandbox Code Playgroud)

当我运行'manage.py test'时,我得到并且错误: …

python sqlalchemy sqlalchemy-migrate

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

CreateView没有返回HttpResponse

我有以下视图扩展基础CreateView:

class PeopleImportCsv(FailedLoginMessageMixin, CreateView):
    model = CsvFile
    form_class = CustomerCsvImportForm
    template_name = 'people/customer_uploadcsv_form.html'

    def get_success_url(self):
        url = reverse('customer_process_csv', args=[self.object.id])
        return url

    def form_valid(self, form):
        instance = form.save(commit=False)
        instance.uploaded_by = self.request.user
        super(PeopleImportCsv, self).form_valid(form)
Run Code Online (Sandbox Code Playgroud)

我正在使用get_success_url()方法,因此我可以在数据库中获取新创建的对象的id.但是,当我尝试提交表单时,我收到以下ValueError消息:

The view people.views.PeopleImportCsv didn't return an HttpResponse object.
Run Code Online (Sandbox Code Playgroud)

如果我assert False在get_success_url()中分配url之后立即放置一个,那么我可以看到它有正确的url我期待所以我该怎么做才能解决这个问题?

django class-based-views

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

Django:正确显示一个字段的多个错误消息

我正在使用django 1.5.5.对于我的项目.我有一些模型,其中一些模型具有多对多字段:

class ScreeningFormat(CorecrmModel):
    name = models.CharField(max_length=100)

class Film(CorecrmModel):
    title = models.CharField(max_length=255)
    screening_formats = models.ManyToManyField(ScreeningFormat)

class Screen(CorecrmModel):
    name = models.CharField(max_length=100)
    screening_formats = models.ManyToManyField(ScreeningFormat)

class FilmShow(CorecrmModel):
    film = models.ForeignKey(Film)
    screen = models.ForeignKey(Screen)
    screening_formats = models.ManyToManyField(ScreeningFormat)
Run Code Online (Sandbox Code Playgroud)

我为FilmShow创建了一个自定义管理表单,它有一个clean_screening_formats方法:

class FilmShowAdminForm(admin.ModelForm):
    def clean_screening_formats(self):
        # Make sure the selected screening format exists in those marked for the film
        screening_formats = self.cleaned_data['screening_formats']
        film_formats = self.cleaned_data['film'].screening_formats.all()
        sf_errors = []
        for (counter, sf) in enumerate(screening_formats):
            if sf not in film_formats:
                sf_error = forms.ValidationError('%s is not a …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin django-validation

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