我们的Moodle网站开始流量很大.结果,该网站正在放缓.在性能调整Moodle时,我应该立即检查哪些配置选项?我知道它是特定于此站点的,因为其他人对大型工作负载没有任何问题.
我试图了解模型方法是如何工作的。举个例子:来源在这里
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
birth_date = models.DateField()
def baby_boomer_status(self):
"Returns the person's baby-boomer status."
import datetime
if self.birth_date < datetime.date(1945, 8, 1):
return "Pre-boomer"
elif self.birth_date < datetime.date(1965, 1, 1):
return "Baby boomer"
else:
return "Post-boomer"
Run Code Online (Sandbox Code Playgroud)
baby_boomer_status方法什么时候被调用?
我尝试替换return为print,但该方法从未被调用。
这是如何运作的?抱歉这个菜鸟问题。
我无法注册APIView到我的网址路线.
来自观点的代码:
class PayOrderViewSet(APIView):
queryset = PayOrder.objects.all()
Run Code Online (Sandbox Code Playgroud)
来自网址的代码:
router = routers.DefaultRouter()
router.register(r'document/payorder', PayOrderViewSet)
Run Code Online (Sandbox Code Playgroud)
这个新创建的URL根本不存在.
这是什么解决方案?
虽然read_only_fields对我来说完美无瑕.即使在执行此操作后,只写字段仍然显示在GET请求中 - >
class UserSerializer(serializers.Serializer):
class Meta:
write_only_fields = ('current_password','new_password')
Run Code Online (Sandbox Code Playgroud)
它曾经在相同的代码库中工作到一段时间,但现在似乎已经破裂了.
Django现在支持正式的postgres范围字段。如何在其中一项中将Infinity指定为默认上限。
假定一个很高的值并将其用作默认值不是一个好的解决方案。这个假设可能随时会打破。
我的代码中的序列化器在两个不同的地方使用。
首次使用:直接
class FirstSerializer(serializers.ModelSerializer):
class Meta(object):
model = FirstSerializer
fields = ('first_name', 'last_name', 'line1', 'line2',)
Run Code Online (Sandbox Code Playgroud)
二次使用:在另一个序列化程序内
class SecondSerializer(serializers.ModelSerializer):
first_serilizer = FirstSerializer(many=True, read_only=True)
class Meta(object):
model = SecondSerializer
Run Code Online (Sandbox Code Playgroud)