小编Sha*_*oon的帖子

使用与现有字段相同的名称注释新字段

我们现在面临这样的情况,我想获得更有经验的用户\xe2\x80\x99s的意见。我们现在是 Django 4、Python 3.9。

\n

目前的情况:

\n

我们的系统已经在生产中运行了一段合理的时间,我们需要根据用户的选择在后端更改一些返回到我们的前端应用程序(Web、mobile\xe2\x80\xa6)的数据。

\n

重要的是:目前无法选择前端方面的更改。

\n

我们需要根据另一个表上现有或不对应的数据覆盖一个模型中的某些属性。

\n

表格(Django 模型):

\n

AgentSearch(该数据每天都会被 ETL 过程替换)

\n
    \n
  • ID
  • \n
  • 标识符号(唯一)
  • \n
  • 成员名字
  • \n
  • 成员姓氏
  • \n
  • 会员邮箱
  • \n
  • 一些其他属性
  • \n
\n

代理(代理可以定义的可选数据)

\n
    \n
  • ID
  • \n
  • agent_search_identifier_number(FK 一对一)
  • \n
  • \n
  • \n
  • 电子邮件
  • \n
\n

对于我们现在的要求,所有查询集都将从 开始进行AgentSearch。这个想法是获取Agent数据,而不是AgentSearch每次有代理链接到数据时就获取数据。

\n

今天我们得到这样的结果:

\n

AgentSearch.objects.all()

\n

我知道像这样注释新列会更容易:

\n
        # using a different attribute name\n        NEW_member_first_name=Case(\n            When(\n                agent__id__isnull=True,\n                then=F("member_first_name"),\n            ),\n            default=F("agent__first_name"),\n        ),\n
Run Code Online (Sandbox Code Playgroud)\n

这将需要我们对前端进行更改。 …

django django-models django-orm django-views django-rest-framework

5
推荐指数
0
解决办法
878
查看次数

我可以用文字声明并初始化 java 中的映射吗?

是否可以声明并初始化Hashtableor Map,这样我们就不必在两个不同的步骤中声明和初始化?

// declare first
Hashtable<String, Integer> numbers = new Hashtable<String, Integer>(3);

// then initialize
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
Run Code Online (Sandbox Code Playgroud)

例如,在 ruby​​ 和 javascript 中,有文字来定义它们:

numbers = {
  one: 1,
  two: 2,
  three: 3,
}
Run Code Online (Sandbox Code Playgroud)

java dictionary initialization

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

java中的Void实际上不返回任何值吗?

我读到该关键字在 java 中void不返回任何值。我尝试运行一个简单的程序。但我不认为按照我的阅读方式进行工作是无效的。这是例子......

public class Main {
    public static void main(String args[]){
        intro("Arun", "Saravanampatti");
        intro("Kalyana Sundram", "Kovil Patti");
    }

    static void intro(String name, String place){
        System.out.println("Hello bro my name is " + name +". and I'm from " + place);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我创建了一个使用intro关键字void. 因此,方法的值(例如名称和地点)不应超出介绍方法的范围。并且它不应该将值返回给 main 方法。但这里确实如此。这怎么可能。

java

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