我有一个工单的模型,有一个需要工作单的字段.要获得工作单列表,以及早期需要的工单,我这样做:
wo = Work_Order.objects.order_by('dateWORequired')
这很好用,但只有在该字段中实际存在值时才有效.如果没有必需的日期,则值为None.然后,工单的列表包含所有的None顶部,然后是正确顺序的剩余工单.
我怎样才能得到None底部的?
我正在构建一个包含几个主要部分的webapp.每个部分都有几个子部分.我有一个main_nav.html文件,其中包含主要部分的导航.HTML使用模板中的{% include ... %}命令将其添加到基础文件中base.html.此外,我有几个子部分导航文件,每个文件都使用相同的{% include ... %}命令添加到任何给定的页面.
所有导航栏都非常简单,只带有<a href...>标签的文本.
我想强调当前主要部分和当前子部分的链接.由于这个webapp相当大,我希望以某种方式这样做而不添加特定于页面的信息.另外,我希望它随着webapp的扩展而"工作",以包含更多的部分和子部分.例如,可以通过查看正在使用的实际URL来完成吗?我希望将这可以放在导航文件本身内,而不必在每个django视图中加载一些变量或其他内容.
因此,例如,导航看起来像这样:
(main ->) [Systems][Invoices][Work Orders][Admin]
(system sub-nav ->) [Owner][Billing][Contacts]
Run Code Online (Sandbox Code Playgroud)
因此,如果我在该Billing部分Systems,我希望链接Systems以粗体显示,链接Billing为粗体(或其他一些简单的突出显示)
要么:
(main ->) [Systems][Invoices][Work Orders][Admin]
(Work-Orders sub-nav ->) [Create New][Outstanding]
Run Code Online (Sandbox Code Playgroud)
如果我在该Outstanding部分Work Orders,则需要突出显示链接Work Orders和链接Outstanding.
有任何想法吗?
我有一个Expense模型和一个ExpenseLineItem模型.就像典型的费用/发票一样,一个费用可以有多个行项目来弥补发票的总成本.我正在尝试使用基于类的视图来创建和更新费用.我已成功编码CreateView以使用多个费用订单项进行新费用.
我的问题是当我尝试更新已有多个费用行项目的现有费用时.这是我下面的代码,我无法弄清楚问题是什么.该混入(TitleMixin,CancelSuccessMixin,SelectedApartment)是我的,做工精细.
我收到一个错误,我相信,这意味着它正在尝试保存新副本,ExpenseLineItems但由于那些已经存在而失败.几乎就像我没有提出instance论点.
我究竟做错了什么?
forms.py
class ExpenseForm(ModelForm):
class Meta:
model = Expense
fields = ['apart', 'inv_num', 'vendor', 'due_date']
ExpenseLineItemFormset = inlineformset_factory(Expense, ExpenseLineItem, fields=('description', 'account', 'amt'), can_delete=False)
Run Code Online (Sandbox Code Playgroud)
这是我的ExpenseUpdate观点:
class ExpenseUpdate(TitleMixin, CancelSuccessMixin, SelectedApartment, UpdateView):
model = Expense
form_class = ExpenseForm
template_name = 'accounting/expense.html'
def get(self, request, *args, **kwargs):
self.object = self.get_object()
form_class = self.get_form_class()
form = self.get_form(form_class)
expense_line_item_form = ExpenseLineItemFormset(instance = self.object) …Run Code Online (Sandbox Code Playgroud) 我有一个代表工单的模型.其中一个字段是DateField,表示工作订单的创建日期(恰当地命名为:dateWOCreated).当用户创建新的工作订单时,我希望此dateWOCreated字段自动填充今天的日期,然后显示在模板中.我有一些其他字段,我想在没有用户干预的情况下设置,但应该在模板中向用户显示这些值.
我不想简单地从modelForm类中排除这些字段,因为用户可能需要能够在路上编辑这些值.
有帮助吗?
谢谢
我有一个完整的日历工作得相当好.但是,我希望能够拖动一个不是 的事件allDay并将其拖动到多天.
例如:我有一个活动将于2月5日上午10点至中午12点开放.我希望能够将事件拖到右边,以便它可以跨越多天.最终的结果是从2月5日上午10点到2月9日中午12点(或基本上比原来的任何一天).
这可能吗?
谢谢
我有两个可以排序工作单的可排序列表.第二个列表是一段Route时间,第一个列表只是尚未添加到列表中的所有工单的Route列表.这个想法是用户将工作订单拖入Route特定订单,重新安排工作订单以创建员工将遵循的路线.
我的问题是管理拖到Route列表上的新工单的位置.在添加新项目时,是否有一种简单的方法来处理更新所有列表项的位置(在数据库方面通过ajax调用)?
更清楚的信息......
当Route列表为空(尚未添加工作订单)时,它很简单 - 用户将新工作订单拖到空列表中,ajax调用用于保存Route对象和Route Item刚添加的详细信息(在服务器上的基础记录上).
当用户将第二个工作单拖到Route列表中时,我想确定新的工作订单是否将成为列表中的第一个,或者第二个,然后相应地更新列表中所有项目的所有信息(服务器端).当我想要一个Route已经有30个工单的新工单时,事情变得非常复杂.
有没有一种简单的方法可以做到这一点,还是只需要编写大量的jQuery和后端函数来管理它?我一直在网上寻找解决方案,但找不到任何确定的东西.
好的 - 我有一个我想要记录的Django项目 - 所以我安装了Sphinx.安装顺利,我可以将所有HTML输出到一个_build文件夹.但...
问题是:我如何在浏览器中实际查看我的文档?
是否假设文档不会在Django项目中查看,而是在其自己的网站中查看?如果在Djano项目中查看,我是否需要设置url模式来处理文档?
我有点困惑如何在我的浏览器中实际查看Django项目中的这些信息.
我正在尝试为网页添加一些基本的动态功能.如何在客户端使用JavaScript通过服务器端的django访问数据库信息?
我觉得在网页上调用django视图(或其他东西)的JavaScript函数应该很容易,而django视图会向JavaScript函数返回一个值.我不希望JavaScript本身连接到数据库,因为这似乎环绕django(对我来说,这似乎是不正确的).
此外,我希望能够在一个页面上通过JavaScript执行多个数据库请求.一个例子是用于创建发票的网页.发票的每个附加行都需要对数据库进行新查询.然后,根据添加到发票中的产品,需要额外的查询来确定产品的价格.我得到的是动态完成的一个页面内对数据库的多个查询.
基本上,我希望django进行数据库搜索并将信息传递给JavaScript.
TL;DR(简短概要):
我在自己的项目中重新创建了管理“添加”按钮。但是,当我在父表单上点击“保存”时,它无法识别新的选择元素。
整个故事:
我在我自己的项目中使用了该功能......几乎。我需要帮助弄清楚最后一步。现在,我有一个“+”按钮,单击它,会出现一个弹出窗口,我添加一个新对象,点击保存,弹出窗口关闭,该新项目现在位于我的选择框中并被选中 - 就像管理员一样页。但是,当我在此父表单上单击“保存”时,出现错误,表明我选择了不在列表中的项目。当然,由于页面已重新加载,我的新项目已成为列表的一部分,我只需再次单击“保存”即可。当然,我需要它来节省第一次!
基本设置是调用我的父模型System并调用外键模型Zone。该Zone模型列出了系统有多少个区域(1 个区域、2 个区域、10 个区域等...)
好的,一些代码:
父表单模板中的“添加”链接:
<a href="/systems/zones/new/?popup=1" id="add_id_numZones" onclick="return showAddPopup(this);">Add</a>
在我New_Zone看来,保存新区域后,我检查变量是否popup GET为1,如果是,则返回一个javascript函数。这是视图:
...
if form.is_valid():
f = form.save(commit=False)
pk_value = f.numOfZones
form.save()
obj = Zone_Info.objects.get(numOfZones=pk_value)
if isPopup == "1":
return HttpResponse('<script>opener.closeAddPopup(window, "%s", "%s");</script>' % (escape(pk_value), escape(obj)))
...
Run Code Online (Sandbox Code Playgroud)
这是我的 Javascript(大部分是从管理 javascript 复制的:
function html_unescape(text) {
// Unescape a string that was escaped using django.utils.html.escape.
text = text.replace(/</g, '<');
text = text.replace(/>/g, '>'); …Run Code Online (Sandbox Code Playgroud) 我一直在使用IndexedDB,我可以成功创建一个新数据库,创建一个商店,并在"需要升级时"添加一个值.我不明白的是,数据库是否保持"开放"状态,还是必须在需要访问数据库中读/写信息的每个函数内重新打开它?
例如,这是我的代码(可以工作)来创建一个新数据库,并插入一条记录:
$(document).ready(function() {
var db;
function initDB() {
console.log("opening db...");
var req = indexedDB.open(dbName, version);
req.onsuccess = function(event) {
db = this.result;
console.log("opening db is done");
}
req.onerror = function(event) {
console.log("error opening db: ", event.target.errorCode);
}
req.onupgradeneeded = function(event) {
db = event.target.result;
var store = db.createObjectStore("creds", { autoincrement: true });
store.add({ username:'none', password:'none'}, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
造成我混淆的是,当我需要访问该数据库中的记录,或添加更多记录或删除记录时,我想我可以创建一个新函数并插入一些值.这就是我所拥有的(失败):
function saveCreds() {
usr = $("#username").val();
psw = $("#password").val();
$.getJSON(baseURL + "cred-check/?callback=?", { username:usr, password:psw }, function(data) {
if (data.creds_good …Run Code Online (Sandbox Code Playgroud) django ×7
django-forms ×2
javascript ×2
jquery ×2
ajax ×1
django-views ×1
fullcalendar ×1
indexeddb ×1
navigation ×1