में जेनेरिक एक-से-एक संबंध मुझे एक-से-एक संबंध स्थापित करने की आवश्यकता है जो सामान्य भी होनी चाहिए। हो सकता है कि आप मुझे एक बेहतर डिजाइन की सलाह दे सकें। अब तक मैं निम्नलिखित मॉडलDjango
class Event(models.Model):
# skip event related fields...
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
class Meta:
unique_together = ('content_type', 'object_id')
class Action1(models.Model):
# skip action1 related fields...
events = generic.GenericRelation(Event, content_type_field='content_type', object_id_field='object_id')
@property
def event(self):
return self.events.get() # <<<<<< Is this reasonable?
class Action2(models.Model):...
Django व्यवस्थापक के अंतर्गत घटना की सूची में मैं सभी कार्यों एकत्र करना चाहते हैं आया था, और वहाँ से मैं कार्यों के लिए व्यवस्थापक पृष्ठों के लिए जाना चाहते हैं। क्या एक्शन मॉडल में event
संपत्ति बनाने से बचना संभव है? क्या कोई बेहतर समाधान है? एक ही परिभाषा में क्षेत्र events
और संपत्ति event
को गठबंधन करना अच्छा लगेगा। जिस परियोजना के साथ मैं काम कर रहा हूं, Django 1.1
यदि आप वास्तव में 'ईवेंट' से बचना चाहते हैं, तो आपको नीचे दिए गए अनुसार, 'ईवेंट' तालिका मैन्युअल रूप से क्वेरी को कार्यान्वित करने की आवश्यकता होगी। मैं अभी भी जेनेरिकरेलेशन के रूप में 'ईवेंट' करना पसंद करूंगा और फिर 'event' प्रॉपर्टी में 'self.events.first()' का उपयोग करूंगा। इसके अलावा, यह भविष्य में आपको अद्वितीय बाधा को दूर करने की अनुमति देता है। – alexcasalboni