Přidání Znalosti do modelu
This commit is contained in:
		
							parent
							
								
									174087edc7
								
							
						
					
					
						commit
						f61533df0a
					
				
					 3 changed files with 76 additions and 3 deletions
				
			
		|  | @ -4,7 +4,7 @@ from reversion.admin import VersionAdmin | ||||||
| from django.utils.safestring import mark_safe | from django.utils.safestring import mark_safe | ||||||
| from django.utils.html import escape | from django.utils.html import escape | ||||||
| 
 | 
 | ||||||
| from .models import Prednaska, Seznam, STAV_NAVRH | from .models import Prednaska, Seznam, STAV_NAVRH, Znalost | ||||||
| from soustredeni.models import Soustredeni | from soustredeni.models import Soustredeni | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -64,7 +64,7 @@ admin.site.register(Seznam, SeznamAdmin) | ||||||
| class PrednaskaAdmin(VersionAdmin): | class PrednaskaAdmin(VersionAdmin): | ||||||
| 	list_display = ['nazev', 'org', 'obor'] | 	list_display = ['nazev', 'org', 'obor'] | ||||||
| 	list_filter = ['org', 'obor'] | 	list_filter = ['org', 'obor'] | ||||||
| 	search_fields = [] | 	search_fields = ['nazev'] | ||||||
| 	filter_horizontal = ('seznamy', ) | 	filter_horizontal = ('seznamy', ) | ||||||
| 
 | 
 | ||||||
| 	actions = ['move_to_soustredeni'] | 	actions = ['move_to_soustredeni'] | ||||||
|  | @ -97,3 +97,10 @@ class PrednaskaAdmin(VersionAdmin): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| admin.site.register(Prednaska, PrednaskaAdmin) | admin.site.register(Prednaska, PrednaskaAdmin) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class ZnalostAdmin(PrednaskaAdmin): # Trochu hack, ať nemusím vypisovat všechno znovu | ||||||
|  | 	list_display = [] | ||||||
|  | 	list_filter = [] | ||||||
|  | 
 | ||||||
|  | admin.site.register(Znalost, ZnalostAdmin) | ||||||
|  |  | ||||||
							
								
								
									
										39
									
								
								prednasky/migrations/0019_znalost_hlasovanioznalostech.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								prednasky/migrations/0019_znalost_hlasovanioznalostech.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | # Generated by Django 4.2.16 on 2025-01-24 13:41 | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | import django.db.models.deletion | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('personalni', '0019_rename_upozorneni_resitel_upozornovat_na_opravy_reseni'), | ||||||
|  |         ('prednasky', '0018_post_split_soustredeni'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='Znalost', | ||||||
|  |             fields=[ | ||||||
|  |                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||||
|  |                 ('nazev', models.CharField(help_text='Např. Neuronové sítě', max_length=200, verbose_name='Nadpis')), | ||||||
|  |                 ('text', models.TextField(blank=True, help_text='Např. Perceptron, vrstevnatá síť, forward a backward propagation', null=True, verbose_name='Detailní popis')), | ||||||
|  |                 ('seznamy', models.ManyToManyField(to='prednasky.seznam')), | ||||||
|  |             ], | ||||||
|  |             options={ | ||||||
|  |                 'verbose_name': 'Znalost k přednáškám', | ||||||
|  |                 'verbose_name_plural': 'Znalosti k přednáškám', | ||||||
|  |                 'db_table': 'prednasky_znalost', | ||||||
|  |             }, | ||||||
|  |         ), | ||||||
|  |         migrations.CreateModel( | ||||||
|  |             name='HlasovaniOZnalostech', | ||||||
|  |             fields=[ | ||||||
|  |                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||||
|  |                 ('odpoved', models.CharField(choices=[(-1, 'Tohle celkem umím'), (0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím'), (1, 'Tohle vůbec neznám')], max_length=16, verbose_name='odpověď')), | ||||||
|  |                 ('seznam', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='prednasky.seznam')), | ||||||
|  |                 ('ucastnik', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='personalni.osoba')), | ||||||
|  |                 ('znalost', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='prednasky.znalost')), | ||||||
|  |             ], | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| from django.db import models | from django.db import models | ||||||
| 
 | 
 | ||||||
| from soustredeni.models import Soustredeni | from soustredeni.models import Soustredeni | ||||||
| from personalni.models import Organizator | from personalni.models import Organizator, Osoba | ||||||
| 
 | 
 | ||||||
| STAV_NAVRH = 1 | STAV_NAVRH = 1 | ||||||
| STAV_BUDE = 2 | STAV_BUDE = 2 | ||||||
|  | @ -63,6 +63,33 @@ class Prednaska(models.Model): | ||||||
| 		return "{} ({})".format(self.nazev, self.org) | 		return "{} ({})".format(self.nazev, self.org) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class Znalost(models.Model): | ||||||
|  | 	class Meta: | ||||||
|  | 		db_table = 'prednasky_znalost' | ||||||
|  | 		verbose_name = 'Znalost k přednáškám' | ||||||
|  | 		verbose_name_plural = 'Znalosti k přednáškám' | ||||||
|  | 
 | ||||||
|  | 	nazev = models.CharField('Nadpis', max_length=200, blank=False, null=False, help_text = 'Např. Neuronové sítě') | ||||||
|  | 	text = models.TextField('Detailní popis', blank=True, null=True, help_text="Např. Perceptron, vrstevnatá síť, forward a backward propagation") | ||||||
|  | 	seznamy = models.ManyToManyField(Seznam) | ||||||
|  | 
 | ||||||
|  | 	def __str__(self): | ||||||
|  | 		return self.nazev | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class HlasovaniOZnalostech(models.Model): | ||||||
|  | 	class ODPOVED(models.IntegerChoices): | ||||||
|  | 		UMIM = -1, 'Tohle celkem umím' | ||||||
|  | 		CIRCA = 0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím' | ||||||
|  | 		NEUMIM = 1, 'Tohle vůbec neznám' | ||||||
|  | 
 | ||||||
|  | 	odpoved = models.CharField(u'odpověď', max_length=16, choices=ODPOVED.choices, blank=False, null=False) | ||||||
|  | 	znalost = models.ForeignKey(Znalost, on_delete=models.CASCADE, blank=False, null=False) | ||||||
|  | 	ucastnik = models.ForeignKey(Osoba, on_delete=models.CASCADE, blank=False, null=False) | ||||||
|  | 	seznam = models.ForeignKey(Seznam, on_delete=models.SET_NULL, blank=True, null=True) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class Hlasovani(models.Model): | class Hlasovani(models.Model): | ||||||
| 	class Meta: | 	class Meta: | ||||||
| 		db_table = 'prednasky_hlasovani' | 		db_table = 'prednasky_hlasovani' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue