据我了解,Logback 是由同一作者编写的。我们的应用程序正在使用 Logback。Logback 是否也受到 Log4j 中的漏洞利用的影响?
这对我们的组织至关重要。
我使用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) 我正在尝试使用以下命令添加两个可为空的列表:
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) 我对 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 …
有人使用 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) 场景:我正在使用一个不寻常的外部 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) django ×3
python ×3
java ×2
django-money ×1
dollar-sign ×1
generics ×1
list ×1
log4j ×1
logback ×1
spring-boot ×1