小编Efr*_*rin的帖子

需要有条件地使用Django表单字段

我希望有一个基于将布尔值设置为True或False有条件的字段.

如果is_company设置为True,我应该返回set required = True?

class SignupFormExtra(SignupForm):
    is_company = fields.BooleanField(label=(u"Is company?"), 
                                     required=False)
    NIP = forms.PLNIPField(label=(u'NIP'), required=False)


def clean(self):
    if self.cleaned_data.get('is_company', True):
        return ...?
    else:
        pass
Run Code Online (Sandbox Code Playgroud)

forms django

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

Alembic - sqlalchemy不检测现有表

我已经问了一个关于如何通过使用检测表的问题(Alembic - sqlalchemy初始迁移)

target_metadata = Base.metadata
Run Code Online (Sandbox Code Playgroud)

对于

alembic revision --autogenerate -m "initial migration"
Run Code Online (Sandbox Code Playgroud)

在我将模型导入env.py文件之后,它似乎工作正常但它没有检测到实际存在的表,因此它创建了包含所有表的迁移文件,例如:

def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table('Brand',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(), nullable=True),
    sa.Column('slug', sa.String(), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.Column('date_updated', sa.DateTime(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    schema='Products'
    )

def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('ProductFile', schema='Products')
Run Code Online (Sandbox Code Playgroud)

我试过了:

alembic stamp head
Run Code Online (Sandbox Code Playgroud)

但在运行并运行autogenerate命令后,系统再次生成所有模型.

from project.apps.users.models import *
from project.apps.orders.models import *
from project.apps.products.models import *

from project.base …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy alembic

16
推荐指数
2
解决办法
5974
查看次数

jsTree通过ajax加载孩子

下面发布的代码通过ajax请求加载我的树的根元素.我的树非常大,所以我无法一次加载所有项目所以我需要通过请求孩子为特定ID加载元素.

如何通过单击节点按ajax加载元素?

  $('#jstree_demo_div').jstree({
            "plugins" : ["wholerow", "checkbox"],
            'core' : {
                'data' : {
                    'url' : function(node) {
                        return "/" + site + "/places/api/tree/list/";
                    }
                },
            }

        });
Run Code Online (Sandbox Code Playgroud)

json样本的一部分

[
   {
      "text":"zachodniopomorskie",
      "state":"closed",
      "id":212353,
   },
Run Code Online (Sandbox Code Playgroud)

固定版本:

 $('#jstree_demo_div').jstree({
            "plugins" : ["wholerow", "checkbox"],
            'core' : {
                'data' : {
                    'url' : "/" + site + "/places/api/tree/list/",
                    'data' : function(node) {
                        return {
                            'id' : node.id
                        };
                    }
                },
            }
        })
Run Code Online (Sandbox Code Playgroud)

我的问题的解决方案是,如果我想通过ajax请求返回子项,我需要返回包含以下内容的json文件:

"children:" true
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery jstree

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

jquery-jasmine - 无法加载fixture

我正在尝试加载一些灯具用于测试目的.到目前为止,我已经准备了一个json文件.

我确实设置了我的beforeEach函数,它应该加载特定的文件,但是我收到一个错误:

Error: Fixture could not be loaded: tests/license_filter/license_test_data.json (status: error, message: undefined)
Run Code Online (Sandbox Code Playgroud)

部分测试功能:

beforeEach(function () {
    jasmine.getFixtures().fixturesPath = 'tests/license_filter';
    loadFixtures('license_test_data.json');
});
Run Code Online (Sandbox Code Playgroud)

Karma配置:

// Karma configuration
// Generated on Mon Nov 10 2014 21:12:33 GMT+0100 (Central European Standard Time)

module.exports = function (config) {
    config.set({
        // base path that will be used to resolve all patterns (eg. files, exclude)
        basePath: 'license_tool/static',

        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine'],

        // list of files / patterns to load in …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jasmine karma-runner

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

Alembic - sqlalchemy初始迁移

我在创建初始迁移时遇到问题,该迁移会自动拥有我在models.py中使用共享Base(declarative_base)定义的表.

当我输入命令时:

alembic revision --autogenerate
Run Code Online (Sandbox Code Playgroud)

alembic创建一个空文件.

我的配置或方法有什么问题?

project.base.py:

from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()
Run Code Online (Sandbox Code Playgroud)

env.py:

import sys
import os

sys.path.append(os.path.abspath(os.getcwd()))
from alembic import context
from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig

from project.base import Base
target_metadata = Base.metadata
def run_migrations_online():
    """Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.

    """
    engine = engine_from_config(
        config.get_section(config.config_ini_section),
        prefix='sqlalchemy.',
        poolclass=pool.NullPool)

    connection = engine.connect()
    context.configure(
        connection=connection,
        target_metadata=target_metadata
    )

    # target_metadata.reflect(engine, …
Run Code Online (Sandbox Code Playgroud)

python django sqlalchemy alembic

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

从电话号码字符串中删除不需要的字符

我的目标是让正则表达式代码获取电话号码并删除不需要的字符。

import re
strs = 'dsds +48 124 cat cat cat245 81243!!'
match = re.search(r'.[ 0-9\+\-\.\_]+', strs)

if match:                      
    print 'found', match.group() ## 'found word:cat'
else:
    print 'did not find'
Run Code Online (Sandbox Code Playgroud)

它仅返回:

+48 124 
Run Code Online (Sandbox Code Playgroud)

我如何退还全部电话号码?

python regex

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

提供初始值时,不会保存 Django 表单集数据

我有一个表单集,其中提供了一些初始数据 - 它是从其他模型克隆的数据,其中包含 2 个字段“组”和“请求”。

当提供初始数据时,formset 中的表单不会被保存,只有当我用数据稍微修改表单时才会保存它们。

当没有提供初始数据时,表单会被保存。

为什么将初始数据添加到表单集会导致无法将表单集数据保存到数据库?

这是我在 get_context_data 字典中存在的表单集:

        initial = ProcedureActionGroup.objects.filter(procedure__id=self.kwargs.get('pk', None))
        initial_values = initial.values('group', 'requested')
        print initial_values
        initial_count = initial.count()

        ActionGroupFormset = inlineformset_factory(self.model, TaskGroup, extra=initial_count,
                                                   form=TaskActionGroupForm,
                                                   can_delete=False,
                                                   )
        data['formset'] = ActionGroupFormset(self.request.POST or None, initial=initial_values,
                                             **self.get_formset_kwargs())
Run Code Online (Sandbox Code Playgroud)

这是我保存所有数据的 form_valid 方法

def form_valid(self, form):
    context = self.get_context_data()
    forms = []
    forms.append(form.is_valid())
    if self.get_procedure_obj():
        formset = context['formset']
        forms.append(formset.is_valid())

    if all(forms):
        self.object = form.save(commit=False)
        form.save()
        if self.get_procedure_obj():
            formset = formset.save(commit=False)
            for obj in formset:
                obj.task = self.object
                obj.save()

        self.object.extract_users()

        return …
Run Code Online (Sandbox Code Playgroud)

forms django formset

4
推荐指数
2
解决办法
2145
查看次数

django modelformset_factory - 缺少管理表单数据

我仍然在使用formsets,我无法理解为什么会收到此错误:

u'ManagementForm数据丢失或被篡改

多数民众赞成我的代码:请指出我的错误并帮助我解决这个问题.

@csrf_protect
@transaction.commit_on_success
def signup(request):
    form = NewUserCreationForm()
    doc_form = NewDocRegisterForm()

    SpecialityLicensesFormSet = modelformset_factory(SpecialityLicenses, extra=1, exclude = ('user'))
    formset = SpecialityLicensesFormSet(queryset=SpecialityLicenses.objects.none())

    if request.method == "POST":

        form = NewUserCreationForm(request.POST or None)
        doc_form = NewDocRegisterForm(request.POST or None)
        formset = SpecialityLicensesFormSet(request.POST or None)


        if form.is_valid() and doc_form.is_valid() and formset.is_valid():

            user = form.save()

            doc = doc_form.save(commit=False)
            doc.user = user
            doc.save()



            print formset
            fset = formset.save(commit=False)

            for n in fset:
                n.user = user
                n.save()

            return HttpResponse("Uzytkownik utowrzony")

    return render_to_response("userena/signup_new.html", {'form': form,
                                                          'doc_form': doc_form, …
Run Code Online (Sandbox Code Playgroud)

forms django

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

Django - 在表单__init__中调用super,在"GET"上启动表单验证

我在我的应用程序中有一个ModelForm,我想在其中修改init函数以添加一些自定义.

init被注释掉时,表单可以正常工作和验证.当我覆盖init并转到表单呈现的url时,它会自动显示"Field xyz is required"

这个问题的原因是什么?

class CreateListView(FormMixin, ListView):

    def get_context_data(self, **kwargs):
        self.object_list = self.get_queryset()
        data = super(ListView, self).get_context_data()
        data['object_list'] = self.get_queryset()
        data['form'] = self.get_form(self.form_class)
        return data

    def post(self, request, *args, **kwargs):
        form = self.form_class(request.POST)
        if form.is_valid():
            form = form.save()
            return HttpResponseRedirect(form.get_absolute_url())
        return self.form_invalid(self.get_context_data())



class ActionGroupForm(forms.ModelForm):

    class Meta:
        model = ActionGroup

    def __init__(self, *args, **kwargs):
        super(ActionGroupForm, self).__init__(args, kwargs)
Run Code Online (Sandbox Code Playgroud)

forms django

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

Django - 在"后向"关系中过滤相关对象

我一直在研究一些"落后"关系的模型.我开始想知道......如果我想过滤一些结果怎么办?

我有两个型号:

Model A:
 name
 image
 date 

Model B:
 ForeignKey to Model A
 name
 date
Run Code Online (Sandbox Code Playgroud)

要访问模型AI,请使用:p = A.objects.all().order_by(' - date')

然后我把它传递给模板.

在模板中:

{% for n in model_a.all %}
  {% for item in n.modelb_set.all %}

   <li>{{item.name}}</li>

  {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我得到了模型A的所有后向相关对象,那很好.

现在如果我想从该查询中过滤一些结果怎么办?

我在考虑通过以下方式迭代:

p = A.objects.all().order_by('-date')

for n in p:
    for x in n.modelb_set.filter(date_lte=""):
    ls = []
    ls.append[x]
Run Code Online (Sandbox Code Playgroud)

我如何将其传递给模板并获得我之前获得的(未过滤的视图)但现在已经过滤了结果?

django filter relationship models

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

LESS禁用继承的最小宽度

我使用LESS,bootstrap 3和flat-ui.

我创建了一个自定义按钮,它继承了.btn的属性,但是我想摆脱min-width:120px所以这个按钮的行为就像它没有min-width值.

这是我的基础.btn类:

.btn {
  border-radius: 2px;
  padding: 6px 12px;
  min-width: 120px;
}
Run Code Online (Sandbox Code Playgroud)

这是我定制的btn类,我想摆脱最小宽度,但它不起作用.

.btn-user, .btn-user-group {
  .btn;
  .btn-xs;
  min-width: none !important;
  padding: 4px 8px;
  display: inline-block;
  margin-bottom: 2px;
  border: 1px solid darken(@clouds, 15%);
  background: @clouds;
  border-radius: 0px;
}
Run Code Online (Sandbox Code Playgroud)

如何摆脱.btn-user,.btn-user-group中的min-width?

html css less twitter-bootstrap

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

MS SQL - 执行简单连接

我正在从头开始学习MS SQL,我正在尝试在我的表上创建一个连接但是我的查询有问题:

SELECT * FROM Users.[User] JOIN Users.[User] as u ON (u.id = Users.[UserAddress].user);


Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'user'.
Run Code Online (Sandbox Code Playgroud)

表结构

怎么了 :)?

sql sql-server ssms

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