私は Python の初心者であり、StackOverFlow の初心者です。何か不足している場合はお知らせください
これは Django スケジューラ アプリです:- https://github.com/llazzaro/django-scheduler
イベントや出来事を作成するためのさまざまなオプションを提供します
ドキュメントはこちら:- http://django-scheduler.readthedocs.io/en/latest/
Django の Product というモデルがあります。以下のように定義されています
`class Products(models.Model):
product_choice = (
('1' ,'sightseeing'),
('2','daytour'),
('3','activity'),
('3','experience'),
('4','rentals'),
('3','multidaytrip'),
)
product_type = models.CharField(max_length=20,choices=product_choice, null=True)
category = models.ForeignKey(Category, null=True)
title = models.CharField(max_length=100, blank=True, default='')
pic1 = models.ImageField(upload_to='media', default='media/ross-island-2.jpg')
pic2 = models.ImageField(upload_to='media', default='media/ross-island-2.jpg')
pic3 = models.ImageField(upload_to='media', default='media/ross-island-2.jpg')
shared_code = models.BooleanField(blank=True, default=False)
age_requirements = models.CharField(max_length=100, blank=True, default='')
time_slots = models.CharField(max_length=100 ,blank=True, default='')
location = models.CharField(max_length=100 ,blank=True, default='')
duration = models.CharField(max_length=100 ,blank=True, default='')
affiliated_institutions = models.CharField(max_length=100, null=True)
includes = models.TextField(blank=True)
excludes = models.TextField(blank=True)
medical_requirements = models.CharField(max_length=100, blank=True, default='')
perks_included = models.CharField(max_length=100, blank=True, default='')
product_detail = models.TextField()
vender_name = models.CharField(max_length=100, blank=False)
user = models.ManyToManyField(settings.AUTH_USER_MODEL)
vendor_id = models.IntegerField(blank=True)
about_vender = models.TextField()
price = models.IntegerField(default=0)
child_price = models.IntegerField(default=0)
infant_price = models.IntegerField(default=0)
product_detail = models.TextField(blank=True)
slug = models.SlugField(unique=True, blank=True)
total_slots = models.IntegerField(blank=True, null=True)
open_slots = models.IntegerField(blank=True , null=True)
cancellation_policy = models.TextField(blank=True)
def __unicode__(self):
return str(self.title)
def __str__(self):
return str(self.title)
`
Django アプリケーションに Django-Scheduler をインストールしましたが、別のアプリとしてインストールされています。私は Django Rest Framework(DRF) を使用しており、DRF を介してこれらすべての変更を行っています。
class ProductListAPIView(ListAPIView):
queryset = Products.objects.all()
permission_classes = (IsAdminOrReadOnly, )
serializer_class = ProductSerializer
def get_queryset(self):
return Products.objects.all()
def get(self, request, format=None):
snippets = Products.objects.all()
serializer_class = ProductSerializer(snippets, many=True)
return Response(serializer_class.data)
def post(self, request, format=None):
serializer = ProductSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
`
ここで、Django Rest フレームワーク経由で新しいリクエストが来たときに製品を作成しながら、Django-Scheduler の助けを借りてイベントを作成する必要があります。
期待していただきありがとうございます。欠落している部分があればお知らせください。