PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

django . के साथ कंडीशनल अपडेट_या_क्रिएट

निम्नलिखित उदाहरण ठीक से काम कर सकते हैं

पहला विकल्प

try:
    obj = Room.objects.get(
        id=id, # test with other fields if you want
    )
    if obj.modified_at < DATETIME:
        obj.capacity = 10
        obj.save()
    else:
        obj = Room.objects.create(
            # fields attributes
        )
except Room.DoesNotExist:
    obj = Room.objects.create(
        # fields attributes
    )

दूसरा विकल्प

या आप सशर्त अभिव्यक्ति के साथ ऐसा कर सकते हैं django का

from django.db.models import F, Case, When
import datetime

your_date = datetime.datetime.now()
condition = Case(When(modified_at__lt=your_date,then=10),default=F('capacity'))
  • हम जांचते हैं कि क्या modified_at your_date . से कम है
  • तो इस शर्त का मान 10 है,
  • अन्यथा, हम F('capacity') के साथ फ़ील्ड का वही मान रखते हैं

बाकी कोड

Room.objects.update_or_create(name='new_name',
           defaults={'name':'new_name','capacity':conditition})



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज ट्रिगर डालने के बाद NEW

  2. डेटाबेस कॉलम चुनें या स्टेटमेंट बनाएं

  3. PostgreSQL क्वेरी में पंक्ति संख्या कैसे दिखाएं?

  4. आपके PostgreSQL परिनियोजन में देखने के लिए 7 चीजें

  5. JDBCTemplate BeanPropertyRowMapper के साथ नेस्टेड POJO सेट करें