উত্তর:
একজন পরিচালকের ভিতরে:
def delete_everything(self):
Reporter.objects.all().delete()
def drop_table(self):
cursor = connection.cursor()
table_name = self.model._meta.db_table
sql = "DROP TABLE %s;" % (table_name, )
cursor.execute(sql)
'DELETE FROM %s' % (table_name, )
বিটের জন্য টেবিলটি খালি কিন্তু অক্ষত রেখে ব্যবহার করব ।
সর্বশেষতম ডকুমেন্টেশন অনুসারে , কল করার সঠিক পদ্ধতিটি হ'ল:
Reporter.objects.all().delete()
delete
পদ্ধতিটি বলা হয়, যখন delete
কল করার সাথে QuerySet
এটি হয় না।
আপনি যদি আপনার সমস্ত টেবিল থেকে সমস্ত ডেটা সরাতে চান তবে আপনি কমান্ডটি চেষ্টা করতে চাইতে পারেন python manage.py flush
। এটি আপনার টেবিলগুলির সমস্ত ডেটা মুছে ফেলবে, তবে টেবিলগুলি সেগুলি এখনও উপস্থিত থাকবে।
এখানে আরও দেখুন: https://docs.djangoproject.com/en/1.8/ref/django-admin/
শেল ব্যবহার করে,
1) সারণী মোছার জন্য:
python manage.py dbshell
>> DROP TABLE {app_name}_{model_name}
2) সারণী থেকে সমস্ত ডেটা অপসারণ করার জন্য:
python manage.py shell
>> from {app_name}.models import {model_name}
>> {model_name}.objects.all().delete()
জাজানো 1.11 একটি ডাটাবেস টেবিল থেকে সমস্ত বস্তু মুছুন -
Entry.objects.all().delete() ## Entry being Model Name.
নীচে উদ্ধৃত হিসাবে এখানে অফিসিয়াল জ্যাঙ্গো ডকুমেন্টেশন দেখুন - https://docs.djangoproject.com/en/1.11/topics/db/queries/#deleting-objects
মনে রাখবেন যে মুছুন () হ'ল একমাত্র কোয়েরি সেট পদ্ধতি যা কোনও ম্যানেজারেই প্রকাশিত হয় না। দুর্ঘটনাক্রমে আপনাকে এন্ট্রি.ওবজেক্টস.ডিলেট () অনুরোধ করা এবং সমস্ত এন্ট্রি মুছতে বাধা দেওয়ার জন্য এটি একটি সুরক্ষা ব্যবস্থা। আপনি যদি সমস্ত অবজেক্ট মুছতে চান তবে আপনাকে স্পষ্টভাবে একটি সম্পূর্ণ ক্যোয়ারী সেটটি অনুরোধ করতে হবে:
আমি নিজেই আমার মধ্যে নীচে প্রদর্শিত কোড স্নিপেট চেষ্টা করেছিলাম somefilename.py
# for deleting model objects
from django.db import connection
def del_model_4(self):
with connection.schema_editor() as schema_editor:
schema_editor.delete_model(model_4)
এবং আমার মধ্যে আমার views.py
একটি ভিউ রয়েছে যা কেবলমাত্র একটি HTML পৃষ্ঠার রেন্ডার করে ...
def data_del_4(request):
obj = calc_2() ##
obj.del_model_4()
return render(request, 'dc_dash/data_del_4.html') ##
এটি মডেল == মডেল = থেকে সমস্ত এন্ট্রি মুছে ফেলা শেষ হয়েছিল, তবে এখন আমি অ্যাডমিন কনসোলের মধ্যে একটি ত্রুটি পর্দা দেখতে পাব যখন মডেল ৮ এর সমস্ত অবজেক্ট মুছে ফেলা হয়েছে যখন আমি আরোহণের চেষ্টা করি ...
ProgrammingError at /admin/dc_dash/model_4/
relation "dc_dash_model_4" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "dc_dash_model_4"
এটি বিবেচনা করুন - যদি আমরা অ্যাডমিন কনসোলে না গিয়ে মডেলটির বস্তুগুলি - যা ইতিমধ্যে মুছে ফেলা হয়েছে দেখুন এবং দেখুন না - জ্যাঙ্গো অ্যাপ্লিকেশন ঠিক যেমনটি ইচ্ছা তেমন কাজ করে।
কয়েকটি উপায় আছে:
এটি সরাসরি মুছতে:
SomeModel.objects.filter(id=id).delete()
এটি একটি উদাহরণ থেকে মুছতে:
instance1 = SomeModel.objects.get(id=id)
instance1.delete()
// একই নাম ব্যবহার করবেন না