我目前正在一个 Django 网站上工作。我想弄清楚如何制作仅当我从 Django Admin 保存时才激活的 post_save 信号。
现在,我已经做了一个 post_save 函数。这适用于所有意图和目的,但我的另一部分代码使用 .save() 更新主事件模型中的整数(整数表示提交的书籍数量)。
我更新用户加载事件页面时提交的书籍数量。
当用户尝试访问包含所有先前事件的页面时,这会导致加载时间过长,因为它会为页面上的每个项目运行我的“book_organizer”功能,而我只需要在我直接从管理页面更新和保存事件详细信息时运行它.
@receiver(post_save, sender=Event)
def save_post(sender, instance, **kwargs):
if instance.books_read==True:
book_organizer.organize_it(instance)
post_save.connect(save_post, sender=Event)
Run Code Online (Sandbox Code Playgroud)
我想做的是让我当前的 save_post 函数仅在我点击 Django 管理员的“保存”按钮时运行。
我想避免覆盖保存功能,因为我读到它是不推荐的。
已解决:供将来参考,已接受的答案所建议的解决方案非常有效。我能够从 Django 管理仪表板中隔离保存实例。
我似乎有点坚持真正掌握递归,所以我可以使用它们.
这是我在教程中找到的示例.
我想验证一下我是否正确理解了这一点.
public class SolveRecursion {
public void recursionPerform(){
System.out.println(fact(4));
}
public static long fact(long n){
if (n <= 1){
return n;
}
else{
return n * fact(n-1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们将n设置为4.
在那种情况下,这是怎么回事?(抱歉格式混乱,我尽我所能)
(是n(4)<= 1,否),否则,n(4)*(Is(n-1 = 3)<= 1,否),否则,n(3)*(Is(n-1 = 2)<= 1,否),否则*(Is(n-1 <= 1),是)*n(1)
在看完了很多基础教程之后,我决定尝试制作一些我自己的简单应用程序来帮助我理解OOP并记住到目前为止学到的东西.
我的尝试是使用主类和2个对象类创建一个应用程序.
我有Main.java,它只调用Performer.java和Calculations.java.
现在我正在处理我的Performer.java对象.
我希望Performer.java从用户获得5个整数,然后我希望能够将其作为数组返回并通过我的Calculations.java运行它,这将执行一些简单的任务,如计算平均值和总计.
我将我的方法设置为公开,如果我理解正确,这应该允许我从我的应用程序中的任何其他位置访问这些变量.
我试过把它作为回归
return arrayList [] = {u1,u2,u3,u4,u5};
这给了我一个错误"Enum标头预期而不是"
import java.util.Scanner;
public class Performer {
public static int getUnit(){
Scanner scan = new Scanner(System.in);
System.out.println("Enter the first number: ");
int u1 = scan.nextInt();
System.out.println("Enter the first number: ");
int u2 = scan.nextInt();
System.out.println("Enter the first number: ");
int u3 = scan.nextInt();
System.out.println("Enter the first number: ");
int u4 = scan.nextInt();
System.out.println("Enter the first number: ");
int u5 = scan.nextInt();
return u1, u2, u3, u4, u5; <--------Confusing …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个应用程序,要求用户输入数组中的项目数,然后让他们用整数填充该数组.之后,打印出来.
当我运行它它要求我输入,但然后给我:
线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:10在main.main(main.java:13)
import java.util.Scanner;
public class main {
public static void main(String [] args){
Scanner scan = new Scanner(System.in);
System.out.println("Input number of units in array: ");
int i1 = scan.nextInt();
int[] arrayOne= new int[i1];
for(int i=0 ; i<=i1 ; i++){
System.out.println("Enter " + i + " unit in array.");
arrayOne[i] = scan.nextInt();
}
System.out.println(arrayOne);
}
}
Run Code Online (Sandbox Code Playgroud)
你能帮助我找出我的错误吗?我尝试了一些不同的东西,但似乎没有任何效果.
谢谢!
我一直在玩并测试我学到的一些东西,但由于某种原因,这对我不起作用.它只是mid-app,但是我在开发过程中继续运行它,以便在我完成时不会有一千个问题堆积起来.它应该能够按原样运行.
import java.util.Scanner;
public class Speed {
public void speedAsker(){
Scanner scan = new Scanner(System.in);
System.out.println("Should we use: 1.KMPH or 2. MPH");
int s1 = scan.nextInt();
if(s1==1){
String j1 = "KMPH";
System.out.println("We will be using Kilometres for this calculation.");
}if(s1 ==2){
String j1 = "MPH";
System.out.println("We will be using Miles for this calculation.");
}else{
System.out.println("That is an invalid input, you must choose between 1 or 2.");
}
System.out.println("What speed is your vehicle going in?");
int d1 = scan.nextInt();
System.out.println("Your vehicle …Run Code Online (Sandbox Code Playgroud)