小编tca*_*uce的帖子

查看Django queryset delete的SQL查询

你如何看待Django生成的SQL DELETE

SELECT查询集上执行操作时,您可以执行以下操作:

>>> qs = Entry.objects.filter(date__gt='2010-06-01')
>>> qs.query.as_sql()
('SELECT ...)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获取SQL,以便在我这样做时发生qs.delete().

它看起来更复杂,因为Django 在删除对象时" 模拟SQL约束ON DELETE CASCADE的行为 ".

(背景:在删除子类模型对象时,尝试调试由外键约束生成的IntegrityError.)

django django-orm

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

从 django 模型创建 javascript 对象(类)

我正在开发一个单页应用程序,它将从大约十几个不同的 django 模型加载数据,允许用户操作数据,然后将所有更改保存回数据库。

我可以通过序列化查询集的结果来将 django 模型“传递”到模板。例如,我有一个模型 Person:

class Person(models.Model):
    id = models.AutoField(primary_key=True)
    age = models.IntegerField()
    name = models.CharField(max_length=250)
Run Code Online (Sandbox Code Playgroud)

现在,在我看来,我可以通过序列化将“person”对象以 json 格式传递给模板

person_object = serializers.serialize("json", Person.objects.filter(id=1))
Run Code Online (Sandbox Code Playgroud)

然后,在我的 JavaScript 中:

var someperson = {{ data|safe }};
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够在客户端创建一个“新”人,就好像该人是一个 javascript 类而不仅仅是一个 json 对象:

var person2 = new Person(id=5,age=33m,name="john");
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的 javascript“类”继承 Django 数据模型?或者我是否需要在 django 和 javascript 之间手动重新创建数据模型?

javascript python django json class

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

在 MySQL VIEW 上运行 EXPLAIN 时出现权限错误

我在 MySQL 5.0 数据库中定义了一个视图:

CREATE OR REPLACE ALGORITHM=MERGE 
DEFINER=db1_user@'%' SQL SECURITY DEFINER 
VIEW db2.data_view AS SELECT * FROM db1.data_table;
Run Code Online (Sandbox Code Playgroud)

这样做是为了让 db2 用户能够访问 db1 中的这个单个表,并且适用于 SELECT 查询:

[db2_user@db2]> select name from data_view limit 1;
+----------------+
| name           |
+----------------+
| slartibartfast |
+----------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试解释相同的查询时,我得到:

[db2_user@db2]> explain select name from data_view limit 1;
ERROR 1345 (HY000): EXPLAIN/SHOW can not be issued; lacking privileges for 
underlying table
Run Code Online (Sandbox Code Playgroud)

我向 db2 用户授予了SHOW VIEW该视图的权限,但对于EXPLAIN.

GRANT …
Run Code Online (Sandbox Code Playgroud)

mysql database database-permissions

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

Excel VLookup公式中的分隔查找字符串

数据表值

                           A                                       B
Life Insurance;Banks;Non-life Insurance;Nonlife Insurance     Manufacturing
Mobile Telecommunications;Fixed Line Telecommunications        Retailing
Run Code Online (Sandbox Code Playgroud)

查找值

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Manufacturing
Mobile Telecommunications                      Retailing
Run Code Online (Sandbox Code Playgroud)

目前确实如此

查找值

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Retailing
Mobile Telecommunications                      Retailing
Run Code Online (Sandbox Code Playgroud)

在'返回'栏中我有

= IFERROR(INDEX($ F $ 32:$ F $ 33 MATCH(H31,LEFT($ E $ 32:$ E $ 33 SEARCH( ";",$ E $ 32:$ E $ 33,1)-1)),0) ,IFEXROR(INDEX($ F $ 32:$ F $ 33,MATCH(H31,MID)($ E $ 32:$ E $ 33,搜索(";",$ E $ 32:$ E $ …

excel vba vlookup

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