প্রশ্নের আক্ষরিক উত্তর দেওয়ার জন্য, create
কোনও মডেলের ম্যানেজারের পদ্ধতিটি জ্যাঙ্গোতে নতুন অবজেক্ট তৈরি করার একটি মানক উপায়। ওভাররাইড করতে, এমন কিছু করুন
from django.db import models
class MyModelManager(models.Manager):
def create(self, **obj_data):
obj_data['my_field'] = my_computed_value(obj_data['my_other_field'])
return super().create(**obj_data)
class MyModel(models.model):
my_field = models.CharField(max_length=250)
my_other_field = models.CharField(max_length=250)
objects = MyModelManager()
এই উদাহরণে, উদাহরণটি create
তৈরি হওয়ার আগে আমি কিছু অতিরিক্ত প্রক্রিয়াকরণ করার জন্য ম্যানেজারের পদ্ধতি পদ্ধতিটিকে ওভাররাইড করছি ।
নোট: কোড মত
my_new_instance = MyModel.objects.create(my_field='my_field value')
এই পরিবর্তিত create
পদ্ধতিটি কার্যকর করে তবে কোডটি পছন্দ করে
my_new_unsaved_instance = MyModel(my_field='my_field value')
হবে না.