我有一个具有选择字段的模型。我想获取列表中的选择选项。
我怎样才能做到这一点?
OPTIONS = (
('COOL', 'COOL'),
('WARM', 'WARM'),
)
class My_Model(models.Model):
options = models.CharField(max_length=20, choices=OPTIONS, default=None,blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
我想要像 ['COOL','WARM'] 这样的列表中的选项值,如何实现它,我尝试了类似 My_Model.options 的东西,但它不起作用。
我正在尝试使用 ID 更新多个对象,我将这些 ID 传递给需要更新的每个对象,但找不到任何方法来成功执行此操作。这是我的代码
模型.py
class EventTicket(models.Model):
id = models.UUIDField(primary_key=True, default=uuid_generate_v1mc, editable=False)
name = models.CharField(max_length=250)
description = models.TextField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)
视图.py
class EventTicketView(APIView, PaginationHandlerMixin):
permission_classes = (AllowAny,)
def get_object(self, ticket_id):
try:
return EventTicket.objects.get(id=ticket_id)
except EventTicket.DoesNotExist():
raise status.HTTP_400_BAD_REQUEST
def patch(self, request, *args, **kwargs):
for each_ticket in request.data:
ticket_id = self.get_object(each_ticket['ticket_id'])
serializer = EventTicketSerializer(instance=ticket_id,data=request.data,partial=True)
if serializer.is_valid():
serializer.save()
result = {
'message': "updated sucessfully"
}
return Response(result, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class EventTicketSerializer(serializers.ModelSerializer):
class Meta:
model = EventTicket
fields = ['name', 'description'] …Run Code Online (Sandbox Code Playgroud)