ஜாங்கோவில் தரவுத்தள உறவுகளைப் புரிந்து கொள்ளுங்கள்

ஜாங்கோவில் தரவுத்தள உறவுகளைப் புரிந்து கொள்ளுங்கள்
உங்களைப் போன்ற வாசகர்கள் MUO ஐ ஆதரிக்க உதவுகிறார்கள். எங்கள் தளத்தில் உள்ள இணைப்புகளைப் பயன்படுத்தி நீங்கள் வாங்கும் போது, ​​நாங்கள் ஒரு இணை கமிஷனைப் பெறலாம்.

தரவுத்தள உறவு வெவ்வேறு தரவுத்தள அட்டவணைகளுக்கு இடையிலான தொடர்பை விவரிக்கிறது. தரவை எவ்வாறு சேமிப்பது மற்றும் மீட்டெடுப்பது என்பதை உறவுகள் தீர்மானிக்கின்றன. ஜாங்கோ தொடர்புடைய தரவுத்தள அமைப்புகளுடன் (RDBMS) நன்றாக வேலை செய்கிறது. எனவே, இது தரவுத்தள அட்டவணை உறவுகளை ஆதரிக்கிறது.





உறவுகளின் வகைகள் உங்கள் பயன்பாட்டின் தேவைகள் மற்றும் அது மாதிரியான தரவைப் பொறுத்தது. ஜாங்கோ மாடல்களுக்கும் தரவுத்தளத்திற்கும் இடையிலான நல்ல உறவுகள் தரவு பராமரிப்பை மேம்படுத்துகின்றன. வினவல் செயல்திறனை மேம்படுத்துதல் மற்றும் தரவு நகலெடுப்பைக் குறைத்தல் ஆகியவை இதில் அடங்கும்.





அன்றைய வீடியோவை உருவாக்கவும்

மூன்று முக்கிய வகையான உறவுகளை ஆராய்வதன் மூலம் ஜாங்கோ தரவுத்தள உறவுகள் பயன்பாட்டு செயல்திறனை எவ்வாறு பாதிக்கின்றன என்பதை நீங்கள் அறிந்து கொள்ளலாம்.





தரவுத்தள உறவுகள்

தொடர்புடைய தரவுத்தள அமைப்புகள் மூன்று வகையான தரவுத்தள உறவுகளை ஆதரிக்கின்றன. இந்த உறவுகள் ஒன்றுக்கு பல, பல-பல, மற்றும் ஒருவருக்கு ஒன்று. தரவுத்தள தொடர்பு வகை உங்கள் பயன்பாட்டின் பயன்பாட்டு நிகழ்வுகளை பாதிக்கிறது.

ஜாங்கோ மாதிரிகள் பயன்பாட்டில் தரவுத்தள அட்டவணைகளைக் குறிக்கும். ஒரு நல்ல தரவுத்தள அமைப்பை உருவாக்க அட்டவணைகளுக்கு இடையே நல்ல உறவுகளை உருவாக்க வேண்டும். உங்கள் பயன்பாட்டில் தரவை எவ்வாறு சேமிப்பது மற்றும் வழங்குவது என்பதை தரவுத்தள உறவுகள் தீர்மானிக்கின்றன.



தரவுத்தள உறவுகளைப் புரிந்து கொள்ள, தொடங்கவும் ஜாங்கோ திட்டத்தை உருவாக்குகிறது பெயரிடப்பட்டது ஹூட்ஸ். பயன்பாடு அக்கம்பக்கத்தில் உள்ள சமூக வலைப்பின்னலாக இருக்கும். இது பல்வேறு சுற்றுப்புறங்களின் சமூக நடவடிக்கைகள், பாதுகாப்பு மற்றும் வணிகங்களை நிர்வகிக்கும்.

குடியிருப்பாளர்கள் பதிவு செய்யலாம், உள்நுழையலாம் மற்றும் சுயவிவரங்களை உருவாக்கலாம். அவர்கள் அனைவரும் பார்க்க இடுகைகள் மற்றும் வணிக விளம்பரங்களை உருவாக்க முடியும்.





தொடங்குவதற்கு, அனைத்து அக்கம் பக்கத் தரவையும் சேமிக்கும் தரவுத்தளத்தை உருவாக்கவும். பின்னர், சுயவிவரம், நெய்பர்ஹூட், வணிகம் மற்றும் இடுகை மாதிரிகளை உருவாக்குவீர்கள். மாதிரிகளை உருவாக்க, தரவுத்தள அட்டவணைகளுக்குத் தேவையான உறவை நீங்கள் தீர்மானிக்க வேண்டும்.

ஒன்றுக்கு ஒன்று தரவுத்தள உறவு

ஒருவருக்கு ஒருவர் உறவு என்பது ஒரு ஜாங்கோ மாடலில் உள்ள பதிவை மற்றொரு மாடலில் உள்ள மற்றொரு பதிவுடன் தொடர்புடையதாகக் குறிக்கிறது. இரண்டு பதிவுகளும் ஒன்றையொன்று சார்ந்துள்ளது. இந்நிலையில், தி சுயவிவர மாதிரி பொறுத்தது பயனர் மாதிரி குடியுரிமை சுயவிவரங்களை உருவாக்க.





எனவே பயன்பாட்டில் பதிவுசெய்யப்பட்ட ஒவ்வொரு குடியிருப்பாளருக்கும் ஒரு சுயவிவரம் மட்டுமே இருக்க முடியும். மேலும், ஒரு பயனர் இல்லாமல், சுயவிவரம் இருக்க முடியாது.

from django.db import models 
from django.contrib.auth.models import User

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
name = models.CharField(max_length=80, blank=True)
bio = models.TextField(max_length=254, blank=True)
profile_picture = CloudinaryField('profile_picture', default='default.png')
location = models.CharField(max_length=50, blank=True, null=True)
email = models.EmailField(null=True)

def __str__(self):
return f'{self.user.username} profile'

ஜாங்கோவின் பயனர் மாதிரி ஜாங்கோவில் உள்ளமைக்கப்பட்ட அங்கீகார மாதிரி. அதற்கான மாதிரியை நீங்கள் உருவாக்க வேண்டியதில்லை. அதற்கு பதிலாக, அதை இறக்குமதி செய்யுங்கள் django.contrib.auth. தி OneToOneField() அதன் மேல் சுயவிவர மாதிரி ஒருவருக்கு ஒருவர் உறவை வரையறுக்கிறது.

பயன்பாட்டில் இலவச விளையாட்டுகளை வாங்க முடியாது

தி on_delete=models.CASCADE இந்த பதிவுகளில் ஒன்றை நீக்குவதை வாதம் தடுக்கிறது. இரண்டு அட்டவணைகளிலிருந்தும் பதிவுகளை நீக்க வேண்டும்.

உங்கள் பயன்பாட்டில் உள்ள உறவைக் காட்சிப்படுத்த ஜாங்கோ நிர்வாக இடைமுகத்தைப் பயன்படுத்தலாம். ஜாங்கோ நிர்வாகியில் உள்நுழைய, நீங்கள் ஒரு நிர்வாக பயனராக பதிவு செய்ய வேண்டும் சூப்பர் யூசர் .

முனையத்தில் பின்வரும் கட்டளையை இயக்குவதன் மூலம் ஒரு சூப்பர் யூசரை உருவாக்கவும்:

python manage.py createsuperuser

உங்கள் பயனர்பெயர், மின்னஞ்சல் மற்றும் கடவுச்சொல்லை உள்ளிடுமாறு கேட்கும். நீங்கள் அவ்வாறு செய்தவுடன், சேவையகத்தைத் தொடங்கவும்.

URL http://127.0.0.1:8000/admin ஐப் பயன்படுத்தி உலாவியில் நிர்வாகி பக்கத்தைத் திறக்கவும்.

pdf விண்டோஸ் 8 க்கு மைக்ரோசாஃப்ட் பிரிண்ட்

நீங்கள் முன்பு உருவாக்கிய நற்சான்றிதழ்களுடன் உள்நுழையக்கூடிய நிர்வாகி பக்கத்தை நீங்கள் காண்பீர்கள். உள்நுழைந்ததும், நீங்கள் பார்ப்பீர்கள் குழுக்கள் மற்றும் பயனர்கள் பொருள்கள். ஜாங்கோ அங்கீகார கட்டமைப்பு இந்த இரண்டு மாடல்களையும் நிர்வகிக்கிறது. கீழே, நீங்கள் பார்ப்பீர்கள் சுயவிவர மாதிரி.

திற சுயவிவரம் மாதிரி மற்றும் சுயவிவரத்தைச் சேர்க்க தொடரவும். இது பின்வருமாறு தோன்றுவதை நீங்கள் காண்பீர்கள்:

  சுயவிவரம் மற்றும் பயனர் மாதிரிகளுக்கு இடையேயான தொடர்பைக் காட்டும் ஜாங்கோ நிர்வாகி

ஒரு பயனருக்கான சுயவிவரத்தை உருவாக்க உங்களுக்கு விருப்பம் இருப்பதைக் கவனியுங்கள். அங்கீகரிக்கப்பட்ட பயனர்களுக்கான சுயவிவரங்களை உருவாக்க OneToOneField() தரவு வகை உங்களை அனுமதிக்கிறது. இப்படித்தான் ஆப்ஸ் ஒருவருக்கு ஒருவர் உறவுகளை நிர்வகிக்கிறது.

ஒன்று முதல் பல உறவுகள்

ஒன்றுக்கு பல உறவு என்பது ஒரு மாதிரியில் உள்ள ஒரு பதிவு மற்றொரு மாதிரியில் உள்ள பல பதிவுகளுடன் தொடர்புடையது என்பதைக் குறிக்கிறது. இது பல-ஒன்று உறவு என்றும் குறிப்பிடப்படுகிறது.

உங்கள் விஷயத்தில், ஒரு நிர்வாகி பல சுற்றுப்புறங்களை உருவாக்க முடியும். ஆனால் ஒவ்வொரு சுற்றுப்புறமும் ஒரு நிர்வாகிக்கு மட்டுமே சொந்தமானது. அத்தகைய உறவை வரையறுக்க நீங்கள் ForeignKey தரவு வகையைப் பயன்படுத்தலாம்.

ஜாங்கோவில் உள்ளமைக்கப்பட்ட நிர்வாக இடைமுகம் உள்ளது. அதற்கான மாதிரியை நீங்கள் உருவாக்க வேண்டியதில்லை. நிர்வாகி குழுவில் இருந்து உள்ளடக்கத்தை நிர்வகிக்கவும் பயன்பாட்டைக் காட்சிப்படுத்தவும் நிர்வாகிக்கு உரிமை உண்டு.

பல பதிவுகளுக்கு இடமளிக்கும் மாதிரியைக் கொண்டிருக்கும் வெளிநாட்டு விசை . இது உறவுகளை ஒன்று முதல் பல என வரையறுக்கிறது. கீழே உள்ள குறியீடு விசையை எங்கு வைக்க வேண்டும் என்பதைக் காட்டுகிறது.

class NeighbourHood(models.Model): 
admin = models.ForeignKey("Profile", on_delete=models.CASCADE, related_name='hood')
name = models.CharField(max_length=50)
location = models.CharField(max_length=60)
hood_logo = CloudinaryField('hood_logo', default='default.png')
description = models.TextField()
health_tell = models.IntegerField(null=True, blank=True)
police_number = models.IntegerField(null=True, blank=True)
Count= models.IntegerField(null=True, blank=True)

def __str__(self):
return f'{self.name} hood'

படத்தில் விளக்கப்பட்டுள்ளபடி, பயன்பாட்டில் உள்ள உறவை நீங்கள் பார்க்கலாம்:

  அக்கம்பக்கத்து மாதிரி நிர்வாகி தேர்வு சேர்க்கப்பட்டது

தி நெய்பர்ஹூட் மாடலுக்கு இப்போது ஒரு நிர்வாகி இருக்கிறார். யாரேனும் ஒரு சுற்றுப்புறத்தை உருவாக்க, அவர்களுக்கு நிர்வாக உரிமைகள் இருக்க வேண்டும். மேலும் ஒரு சுற்றுப்புறத்தில் பல நிர்வாகிகள் இருக்க முடியாது.

பல முதல் பல தரவுத்தள உறவுகள்

பல-பலவற்றில் உறவுகள், ஒரு மாதிரியில் உள்ள பல பதிவுகள் மற்றொன்றில் மற்றவற்றுடன் தொடர்புடையவை. உதாரணமாக, தி அஞ்சல் மற்றும் வணிக மாதிரிகள் ஒன்றுக்கொன்று பல பதிவுகளைக் கொண்டிருக்கலாம். பயனர்கள் தங்கள் இடுகைகளில் பல வணிக விளம்பரங்களைச் செய்யலாம் மற்றும் நேர்மாறாகவும்.

இருப்பினும், பல-பல உறவுகளை உருவாக்குவது தவறான தரவுகளுக்கு வழிவகுக்கும். மற்ற கட்டமைப்புகளில், இரண்டு அட்டவணைகளை இணைக்க நீங்கள் ஒரு புதிய அட்டவணையை உருவாக்க வேண்டும்.

ஜாங்கோ இதற்கு ஒரு தீர்வு உள்ளது. நீங்கள் பல முதல் பல புலத்தைப் பயன்படுத்தும்போது, ​​​​அது இரண்டு அட்டவணைகளையும் ஒன்றாக மேப்பிங் செய்யும் புதிய அட்டவணையை உருவாக்குகிறது . நீங்கள் இரண்டு மாடல்களில் ஒன்றில் பல முதல் பல புலங்களை வைக்கலாம், ஆனால் அது இரண்டு மாடல்களிலும் இருக்கக்கூடாது.

class Post(models.Model): 
title = models.CharField(max_length=120, null=True)
post = models.TextField()
date = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='post_owner')
hood = models.ForeignKey(NeighbourHood, on_delete=models.CASCADE, related_name='hood_post')
business = models.ManyToManyField(Business)

def __str__(self):
return f'{self.title} post'

இப்போது, ​​நீங்கள் பார்க்கும் போது அஞ்சல் நிர்வாக குழுவில் உள்ள மாதிரி, நீங்கள் ஒரு இடுகையில் பல வணிகங்களை இணைக்கலாம்.

  போஸ்ட் மாடலில் பல வணிகங்களைச் சேர்க்க விருப்பம் உள்ளது

ஜாங்கோ தரவுத்தள உறவுகளை எளிதாக்குகிறது

உங்கள் பயன்பாட்டிற்கு நீங்கள் பயன்படுத்தும் தரவுத்தளத்தின் வகை, தரவை எவ்வாறு பயன்படுத்துவது என்பதை தீர்மானிக்கிறது. ஜாங்கோ ஒரு விரிவான அமைப்பைக் கொண்டுள்ளது, இது தொடர்புடைய தரவுத்தளங்களை இணைத்து இயக்குவதை எளிதாக்குகிறது.

ஜாங்கோ அம்சங்கள் தொடர்புடைய அட்டவணைகளில் இருந்து தரவைச் சேமித்து மீட்டெடுப்பதை எளிதாக்குகின்றன. இது உங்கள் பயன்பாட்டிற்கான தரவுத்தள உறவுகளை இணைக்கும் மற்றும் உருவாக்கும் உள்ளமைக்கப்பட்ட APIகளைக் கொண்டுள்ளது.

தரவுத்தள உறவுகள் உங்கள் பயன்பாட்டின் நடத்தையை தீர்மானிக்கிறது. நீங்கள் ஒன்றுக்கு ஒன்று, ஒன்றுக்கு பல அல்லது பலவற்றிலிருந்து பல உறவுகளைப் பயன்படுத்துகிறீர்களா என்பது உங்களைப் பொறுத்தது.

சார்ஜ் செய்யவில்லை என்று என் லேப்டாப் சொருகியதாக கூறுகிறது

ஜாங்கோ மூலம், உங்கள் பயன்பாட்டை உடைக்காமல் அம்சங்களை உள்ளமைக்கலாம் மற்றும் சோதிக்கலாம். தரவுத்தள அமைப்புகளைப் பாதுகாக்க மற்றும் உங்கள் டெவலப்பர் அனுபவத்தை மேம்படுத்த ஜாங்கோவைப் பயன்படுத்தவும்.