मैंने Book
, Book_stat
एक Profile
मॉडल बनाया है जिसका Django User
मॉडल से संबंध है, मैं Book title
और full_name from Profile
को डिफ़ॉल्ट रूप से प्रदर्शित करने का प्रयास कर रहा हूं < Book_stat
से मजबूत>str वापसी स्ट्रिंग
models.py
from django.db import models
from django.contrib.auth.models import User
from decimal import Decimal
# Create your models here.
class Book(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
full_name = models.CharField(max_length=150)
def __str__(self):
return self.full_name
class Book_stat(models.Model):
user = models.ForeignKey(User)
book = models.ForeignKey(Book)
rating = models.DecimalField(max_digits=5, decimal_places=2, default=Decimal('0.00'))
like = models.BooleanField(default=False)
def __str__(self):
return self.book.title # here i would like to return book title + full_name from Profile Model
admin.py
from django.contrib import admin
from .models import Book, Book_stat, Profile
# Register your models here.
admin.site.register(Book)
admin.site.register(Book_stat)
admin.site.register(Profile)
जब मैं अपने django व्यवस्थापक पृष्ठ में Book_stat
पर क्लिक करता हूं तो मैं अपने Book_stat list
में शीर्षक के रूप में Book title
और Profile full_name
प्रदर्शित करना चाहता हूं।
3 जवाब
def __str__(self):
return self.book.title +' '+ self.user.profile.full_name
इस आशा को आजमाएं कि आपको यह मिल जाएगा
ये कोशिश करें:
अपने प्रोफ़ाइल मॉडल में संबंधित_नाम इस तरह जोड़ें:
class Profile(models.Model):
user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)
full_name = models.CharField(max_length=150)
def __str__(self):
return self.full_name
और आपके बुकस्टैट मॉडल में:
class Book_stat(models.Model):
user = models.ForeignKey(User)
book = models.ForeignKey(Book)
rating = models.DecimalField(max_digits=5, decimal_places=2, default=Decimal('0.00'))
like = models.BooleanField(default=False)
def __str__(self):
return self.book.title + " - " + self.user.profile.full_name
class Book_stat(models.Model):
user = models.ForeignKey(User)
book = models.ForeignKey(Book)
rating = models.DecimalField(max_digits=5, decimal_places=2, default=Decimal('0.00'))
like = models.BooleanField(default=False)
def __str__(self):
return str(self.book.title) + " : " + str(self.user.get_full_name()) ## changes done here
संबंधित सवाल
नए सवाल
django
Django एक ओपन-सोर्स सर्वर-साइड वेब एप्लीकेशन फ्रेमवर्क है जिसे पायथन में लिखा गया है। यह कम कोड, विशेष-अतिरेक पर विशेष ध्यान देने और निहित से अधिक स्पष्ट होने के साथ जटिल डेटा-संचालित वेबसाइटों और वेब एप्लिकेशन बनाने के लिए आवश्यक प्रयास को कम करने के लिए डिज़ाइन किया गया है।