小编Jgl*_*art的帖子

save和save_model()之间的区别

对于覆盖save方法所需的所有Django需求,我一直save()在我的模型中使用.突然间,当我查找需要一点额外耀斑的东西时,有人建议save_model()在我的管理课程中重写.

我在两者上找到了文档,我立刻注意到论点不同.是save_model()在对模型从管理保存的唯一的叫什么?并且save()只要模型被保存就调用该方法?

UPDATE

所以我发现从管理员保存时."save"和"save_model()"都被调用.似乎首先调用'save_model()'.在我的特定应用程序中,我使用pre_save信号,并且'save()'覆盖.现在我想添加'save_model()'覆盖.这是所有这些保存覆盖和信号的交互和顺序让我感到困惑.

django

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

Ruby使用each_slice.to_a

我正在尝试将数组细分为数组对.

例如:["A","B","C","D"]应该成为[["A","B"],["C","D"].

我相信我已经成功了arg.each_slice(2).to_a.但是,如果我arg.length在新阵列上做的话,我仍然会得到4.我希望得到2(在上面的例子中).

最后,我希望能够调用的第一个元素arg["A","B"],但在此刻,我仍然得到"A".

ruby each

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

数据库设计ManyToMany,OneToMany,ManyToOne,Django模型

对于具有特定关系的Django应用程序,我感到困惑.我一直在查看以下数据库模式:http://www.databaseanswers.org/data%5Fmodels/customers_and_orders/index.htm

我对Customer_addresses与Customers和Addresses之间的关系感到困惑.

我知道:

  • 一个客户可以拥有多个地址.
  • 许多客户可以拥有相同的(一个)地址

这是否等同于多对多的关系?

  • 很多客户可以拥有多个地址?

当我在django中构建模型时,我有(简化):

class Customer_Address(models.Model):
    customer = models.ManyToManyField('inventory.Customer')
    address = models.ManyToManyField('inventory.Address')
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?或者这更有意义:

class Customer_Address(models.Model):
    customer = models.ForeignKeyField('inventory.Customer')
    address = models.ManyToManyField('inventory.Address')
Run Code Online (Sandbox Code Playgroud)

更新的问题:

基于这种想法,它是一个多对多的关系.有一个ManyToMany关系,需要两个ManyToManyFields吗?

基于以下内容:http: //en.wikipedia.org/wiki/Many-to-many_%28data_model%29

由于Django支持ManyToManyFields,我甚至不需要联结表吗?如果我使用联结表(Customer_addresses),文章似乎暗示使用两个OneToMany关系,这不仅仅是这样的两个外键?

class Customer_Address(models.Model):
    customer = models.ForeignKeyField('inventory.Customer')
    address = models.ForgeinKeyField('inventory.Address')
Run Code Online (Sandbox Code Playgroud)

更新的问题:

现在我们知道Django构建了中间表,并且不需要表Customer_Addresses.哪个表应该有ManyToManyfield?客户表?还是地址表?

示例:https://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany

在Person/Groups示例中.. Groups具有ManyToManyField.是否有任何原因无法在Person表中定义ManyToManyfield?

django-models database-schema

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

在admin中显示来自信号的自定义消息

我有一个预先保存的信号监听器,可以更新第二个模型.与此示例相同:

我想让用户知道监听器成功更新了模型并提供了一些信息.通常,我认为我可以使用django具有的内置消息功能.问题是信号无法访问"请求".所以我看不出如何使用内置的Django Messages Framework.

是否有一种已知的方法可以在管理员中向用户发送消息?也许通过覆盖其中一个模型的save()方法?(发送信号或接收的那个),但我认为save()方法也不能访问'request'?

这必须是其他人想要做的事情吗?

django

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

Jquery Javascript函数未定义

我试图在我自己的django项目中实现它时,尝试使用python-django应用程序调试JS/Jquery问题.我使用浏览器的开发者控制台来检索以下错误:

TypeError: 'undefined' is not a function (evaluating '$(this).yourlabsWidget()')
Run Code Online (Sandbox Code Playgroud)

所以我去寻找函数'yourlabsWidget()的定义,它直接位于函数调用的上方.

$.fn.yourlabsWidget = function(overrides) { ... }

$(document).ready(function() {
$('.autocomplete-light-widget[data-bootstrap=normal]').live('initialize', function() {
     $(this).yourlabsWidget();
});
Run Code Online (Sandbox Code Playgroud)

我对javascript或jquery知之甚少,所以我在这里完全不知所措.假设语法上没有任何错误,像这样的问题是否意味着jquery无法正常工作?我知道这不是很多信息,但我会添加所需的任何其他相关信息.

应用程序和特定文件给我带来麻烦(分别),

我已经在我的开发服务器上使用它自己的测试项目测试了应用程序,并且它在自己的测试项目中开箱即用.但是,如果我使用一个有效的测试应用程序并将其安装到我自己的django项目中,它将不再有效.

更新:

整个功能定义:

$.fn.yourlabsWidget = function(overrides) {
var overrides = overrides ? overrides : {};

if (this.data('widget') == undefined) {
    // Instanciate the widget
    var widget = new yourlabs.Widget(this);

    // Pares data-*
    var data = this.data();
    var dataOverrides = {autocompleteOptions: {}};
    for (var key in data) {
        if (!key) continue;

        if (key.substr(0, 12) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery django-autocomplete-light

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

黄瓜:如何检查列中的特定文本?

我正在尝试使用黄瓜来检查我的应用程序中的Ruby on Rails视图的内容.视图在表格中显示信息.我希望能够只检查该表的一列的内容.当我使用Web步骤定义时"I should see",它会检查整个页面.这样做有什么简单的方法吗?

例如: column.should have_content("text")

ruby ruby-on-rails cucumber

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