डेटाबेस से डेटा हटाएं
निम्नलिखित विधियाँ आपको डेटाबेस से डेटा हटाने की अनुमति देती हैं।
हटाएं
delete(each: bool = False, **kwargs) -> int
Queryस्तर हटाने का उपयोग एक बार में कई रिकॉर्ड हटाने के लिए किया जाता है।
आपको या तो पहले Queryफ़िल्टर करना होगा, या पूरी तालिका को हटाने के लिए प्रत्येक = सही ध्वज प्रदान करना होगा।
यदि आप यह ध्वज या फ़िल्टर प्रदान नहीं करते हैं, तो QueryDefinitionError उठाया जाता है।
हटाए गए पंक्तियों की संख्या लौटाता है।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 | import asyncio
import databases
import ormar
import sqlalchemy
from examples import create_drop_database
DATABASE_URL = "sqlite:///test.db"
ormar_base_config = ormar.OrmarConfig(
database=databases.Database(DATABASE_URL),
metadata=sqlalchemy.MetaData(),
)
class Book(ormar.Model):
ormar_config = ormar_base_config.copy(tablename="books")
id: int = ormar.Integer(primary_key=True)
title: str = ormar.String(max_length=200)
author: str = ormar.String(max_length=100)
genre: str = ormar.String(
max_length=100,
default="Fiction",
)
@create_drop_database(base_config=ormar_base_config)
async def run_query():
await Book.objects.create(
title="Tom Sawyer", author="Twain, Mark", genre="Adventure"
)
await Book.objects.create(
title="War and Peace in Space", author="Tolstoy, Leo", genre="Fantasy"
)
await Book.objects.create(
title="Anna Karenina", author="Tolstoy, Leo", genre="Fiction"
)
# delete accepts kwargs that will be used in filter
# acting in same way as queryset.filter(**kwargs).delete()
await Book.objects.delete(genre="Fantasy") # delete all fantasy books
all_books = await Book.objects.all()
assert len(all_books) == 2
asyncio.run(run_query())
|
नमूना विधि
प्रत्येक नमूना उदाहरण में स्वयं को सहेजने, अपडेट करने या लोड करने के तरीकों का एक सेट होता है।
हटाएं
आप डिलीट () विधि को कॉल करके नमूना उदाहरण को हटा सकते हैं।
!!!टिप नमूना विधि में डिलीट () विधि के बारे में अधिक पढ़ें
QueryProविधि
प्रासंगिक MToफ़ील्ड और seसीधे एक्सेस करते समय, संबंधित मॉडल की एक सूची वापस आ जाती है।
लेकिन यह क्वेरीसेट एपीआई के एक सबसेट को भी उजागर करता है, इसलिए आप मूल नमूना से सीधे संबंधित मॉडल को फ़िल्टर कर सकते हैं, बना सकते हैं, चुन सकते हैं।
खत्म करना
संबंधित मॉडल एक-एक करके हटा दिए जाते हैं।
डेटाबेस में संबंध हटाएं।
रखने के लिए \ _ उलट ध्वज के रूप में seormar भी डेटाबेस से प्रासंगिक नमूना को हटा देता है।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | कक्षा अल्बूm (ormar. Model):
ormar _ config = आधार _ ormar _ config कॉपी ()
आईडी: int = ormar। पूर्णांक (primary_key = True)
नाम: str = ormar। स्ट्रिंग (max_length = 100)
is_best_seller: b= ormar। बूलियन (default = False)
क्लास ट्रैक (ormar. Model):
ormar _ config = आधार _ ormar _ config कॉपी ()
आईडी: int = ormar। पूर्णांक (primary_key = True)
एल्बम: वैकल्पिक [एल्बम] = ormar। विदेशी (एल्बम)
शीर्षक: str = ormar। स्ट्रिंग (max_length = 100)
स्थिति: int = ormar। पूर्णांक ()
play_count: int = ormar। पूर्णांक (nullable = True)
एल्बम = अल्बू का इंतजार करेंm (name = "Malibu").सहेजें ()
ट्रैक 1 = प्रतीक्षा ट्रैक (
एल्बम = एल्बम, शीर्षक = "द बर्ड", स्थिति = 1, play_count = 30,
).बचाओ ()
# संबंध के रिवर्स साइड से प्रॉक्सी के माध्यम से निकालें
Aum.trको हटा दें (track1, keep_reversed = False)
# ट्रैक भी हटा दिया गया था
ट्रैक = Tr.all का इंतजार करें ()
लेन डालें (tracks) == 0
|
स्पष्ट
एक एकल कॉल सभी संबंधित मॉडल को हटा देता है।
डेटाबेस में संबंध भी हटाएं।
रखने के लिए \ _ उलट ध्वज के रूप में seormar भी डेटाबेस से प्रासंगिक नमूना को हटा देता है।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | कक्षा अल्बूm (ormar. Model):
ormar _ config = आधार _ ormar _ config कॉपी ()
आईडी: int = ormar। पूर्णांक (primary_key = True)
नाम: str = ormar। स्ट्रिंग (max_length = 100)
is_best_seller: b= ormar। बूलियन (default = False)
क्लास ट्रैक (ormar. Model):
ormar _ config = आधार _ ormar _ config कॉपी ()
आईडी: int = ormar। पूर्णांक (primary_key = True)
एल्बम: वैकल्पिक [एल्बम] = ormar। विदेशी (एल्बम)
शीर्षक: str = ormar। स्ट्रिंग (max_length = 100)
स्थिति: int = ormar। पूर्णांक ()
play_count: int = ormar। पूर्णांक (nullable = True)
एल्बम = अल्बू का इंतजार करेंm (name = "Malibu").सहेजें ()
ट्रैक 1 = प्रतीक्षा ट्रैक (
एल्बम = एल्बम,
शीर्षक = "द बर्ड",
स्थिति = 1,
play_count = 30,
).बचाओ ()
ट्रैक 2 = प्रतीक्षा ट्रैक (
एल्बम = एल्बम,
शीर्षक = "दिल एक मौका नहीं खड़ा है",
स्थिति = 2,
play_count = 20,
).बचाओ ()
# केवल संबंध को हटाता है -> पटरियों पर विदेशी कुंजी को साफ करता है
प्रतीक्षारत एल्बम। tr()
# पटरियों को भी हटा देता है
एल्बम का इंतजार करें। tr(keep_reversed=False)
|