小编sar*_*n3h的帖子

Logback是否也受到Spring Boot中Log4j零日漏洞问题的影响?

据我了解,Logback 是由同一作者编写的。我们的应用程序正在使用 Logback。Logback 是否也受到 Log4j 中的漏洞利用的影响?

这对我们的组织至关重要。

log4j logback spring-boot

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

如何使用 django-money 获取没有“$”的货币值?

我使用django-money,然后我在模型中有price字段,如下所示:MoneyField()Product

# "app/models.py"

from django.db import models
from djmoney.models.fields import MoneyField
from decimal import Decimal
from djmoney.models.validators import MaxMoneyValidator, MinMoneyValidator

class Product(models.Model):
    name = models.CharField(max_length=100)
    price = MoneyField( # Here
        max_digits=5, decimal_places=2, default=0, default_currency='USD',
        validators=[
            MinMoneyValidator(Decimal(0.00)), MaxMoneyValidator(Decimal(999.99)),
        ]
    )
Run Code Online (Sandbox Code Playgroud)

然后,在获取价格时views.py如下图所示:

# "app/views.py"

from app.models import Product
from django.http import HttpResponse

def test(request):
    print(Product.objects.all()[0].price) # Here
    return HttpResponse("Test")
Run Code Online (Sandbox Code Playgroud)

我在控制台上得到的价格$如下所示:

$12.54
Run Code Online (Sandbox Code Playgroud)

$现在,如果没有如下所示,我怎样才能得到价格呢?

12.54
Run Code Online (Sandbox Code Playgroud)

python django django-models dollar-sign django-money

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

两个可为空的项目列表的空安全串联

我正在尝试使用以下命令添加两个可为空的列表:

List<Employee> employees = null;
if (<some condition>) {
    employees = employeeService.getEmployees(<some criteria>);

    // Add another list of employees
    if (<some condition>) {
        List<Employee> employeesSubList = employeeService.getEmployees(<some other criteria>));
        if (!isEmpty(employeesSubList)) {
            if (!isEmpty(employees)) {
                employees.addAll(employeesSubList);
            } else {
                employees = employeesSubList;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这可行,但代码看起来非常丑陋。有一个硬条件,List<Employee> employees如果没有员工存在,父级将为空而不是空列表。有没有更干净的方法来做同样的事情?

我尝试了 Java 8 方法,但 IntelliJ 抛出了一些警告.orElse(emptyList()).addAll(employeesSubList)

List<Employee> employees = null;
if (<some condition>) {
    employees = employeeService.getEmployees(<some criteria>);

    // Add another list of employees
    if (<some condition>) { …
Run Code Online (Sandbox Code Playgroud)

java list

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

Django Serializer:如何验证模型实例?

我对 Django 序列化程序很陌生,但仍然对它们的工作方式感到困惑。

我有一个相当普遍的场景,其中我正在调用我的 api,它只是在我的模型对象中设置一个字段并保存它(假设记录已经存在并且正在更新)。但是,我需要在保存此模型对象之前对其进行验证。

api.py

@detail_route(methods=['POST'], url_path='submit-draft')
def submit_draft(self, request, *args, **kwargs):
    booking = self.get_object()

    # serializer with custom validations.
    serializer = self.get_serializer(booking)
    serializer.is_valid(raise_exception=True)

    booking.submit_draft(by=request.user)
    booking.save()

    data = serializers.BookingDetailSerializer(booking, context={'request': request}).data

    return response.Ok(data)
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class BookingCreateUpdateSerializer(serializers.ModelSerializer):
    date = serializers.CharField()

    duration = serializers.IntegerField(required=True, )

    created_by = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault(), )

    modified_by = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault(), )
    ....

    class Meta:
    model = models.Booking
        fields = [
        'title',
        'date',
        'duration',
        'client',
        'created_by',
        'modified_by',
        ....
    ]
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

AssertionError: Cannot call '.is_valid()' as no 'data=' keyword …

python django django-serializer django-rest-framework

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

django-q任务队列:失败的任务永远继续处理

有人使用 django-q 任务调度程序:https://github.com/Koed00/django-q吗?

(不是数据库相关的Q库)

我有一堆失败的任务。每次我运行 django-q 时,这些失败的任务都会不断弹出:

18:06:14 [Q] INFO Process-1:9 processing [apart-sixteen-butter-friend]
18:06:14 [Q] INFO Process-1:10 processing [single-mississippi-bravo-fillet]
18:06:14 [Q] ERROR Failed [lithium-cola-batman-fanta] - No module named 'shootsta.user'
18:06:14 [Q] INFO Process-1:9 processing [ink-october-angel-california]
18:06:14 [Q] ERROR Failed [zulu-michigan-yankee-kilo] - No module named 'shootsta.user'
18:06:14 [Q] ERROR Failed [four-lemon-arizona-football] - No module named 'shootsta.user'
18:06:14 [Q] ERROR Failed [mississippi-fillet-winner-single] - No module named 'shootsta.user'
18:06:14 [Q] ERROR Failed [west-pennsylvania-asparagus-alabama] - 'BookingAnalytics' object has no attribute …
Run Code Online (Sandbox Code Playgroud)

python django

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

Java 泛型:将嵌套的 json 响应映射到 Java 对象

场景:我正在使用一个不寻常的外部 API,其中每个属性都是一个具有多个值的映射。为了将此响应转换为简单的 Java 对象,我不得不进行一些脏拆箱。下面是典型的java类之一。正如您所看到的,我是如何从响应中拆箱数据并将它们映射到我的 Java 类的:

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;

import java.time.LocalDate;
import java.util.Map;

import static com.my.util.BaseUtil.unbox;

@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PartyDetailsDto {

    private String partyId;
    private String partyType;
    private String title;
    private String firstName;
    private String lastName;
    private String middleName;
    private LocalDate dateOfBirth;

    @JsonProperty(value = "partyId")
    public void unboxPartyId(Map<String, String> data) {
        this.partyId = unbox(data, "evidenceId");
    }

    @JsonProperty(value = "partyType")
    public void unboxPartyType(Map<String, String> partyType) {
        this.partyType = unbox(partyType, "value");
    }

    @JsonProperty(value = "individual")
    public void …
Run Code Online (Sandbox Code Playgroud)

java generics

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