Django Rest Framework,创建方法无法正常工作

问题描述 投票:0回答:1

订阅模型中有一个试用期结束字段,我想使用trial_end_date初始化该字段,我现在面临的问题是订阅模型中的trial_end显示空值,如何提取出试用结束字段并将其初始化?我已经附上了def create方法。感谢您的帮助。

  def create(self, validated_data):
    subscriptions_data = validated_data.pop('plan')
    print(subscriptions_data)
    user_memberships = UserMembership.objects.create(**validated_data)
    trial_end = user_memberships.membership.get_trial_period_days()
    trial_end_date = datetime.date.today() + datetime.timedelta(trial_end)
    for subscription_data in subscriptions_data:
        Subscription.objects.create(user_membership=user_memberships, **subscription_data,)

    return user_memberships

[模型][2]

我的目标是在会员模型计划中包含试用期的日期时,它将在订阅模型的试用期结束字段中添加

python django django-rest-framework serializer
1个回答
0
投票
可能是因为您正在trial_end_date中传递Subscription.objects.create(..)的值。因此,您可以像这样修复它:

trial_end = user_memberships.membership.get_trial_period_days() trial_end_date = datetime.date.today() + datetime.timedelta(trial_end) for subscription_data in subscriptions_data: Subscription.objects.create(trial_end = trial_end_date, user_membership=user_memberships, **subscription_data,)

© www.soinside.com 2019 - 2024. All rights reserved.