fix foreignkey and loadin

This commit is contained in:
Andros Fenollosa 2021-11-21 09:21:39 +01:00
parent 912cd4eea4
commit 528b623acd
8 changed files with 76 additions and 11 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 3.2.9 on 2021-11-20 23:04
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('website', '0002_alter_talk_author'),
]
operations = [
migrations.AlterField(
model_name='talk',
name='category',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='talk_category', to='website.category', verbose_name='Categoría'),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 3.2.9 on 2021-11-21 07:51
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('website', '0003_alter_talk_category'),
]
operations = [
migrations.RemoveField(
model_name='talk',
name='author',
),
migrations.AddField(
model_name='talk',
name='speaker',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='website.profile', verbose_name='Ponente'),
),
]

View File

@ -0,0 +1,24 @@
# Generated by Django 3.2.9 on 2021-11-21 07:57
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('website', '0004_auto_20211121_0751'),
]
operations = [
migrations.AlterField(
model_name='talk',
name='category',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='talkcategory', to='website.category', verbose_name='Categoría'),
),
migrations.AlterField(
model_name='talk',
name='speaker',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='talkspeaker', to='website.profile', verbose_name='Ponente'),
),
]

View File

@ -41,15 +41,15 @@ class Talk(models.Model):
Category, Category,
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
null=True, null=True,
related_name="Categoría", related_name="talkcategory",
verbose_name="Categoría", verbose_name="Categoría",
) )
author = models.ForeignKey( speaker = models.ForeignKey(
Profile, Profile,
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
null=True, null=True,
related_name="talk_profile", related_name="talkspeaker",
verbose_name="Autor", verbose_name="Ponente",
) )
image = models.ImageField(verbose_name="Imagen", upload_to="uploads/talks/") image = models.ImageField(verbose_name="Imagen", upload_to="uploads/talks/")
is_draft = models.BooleanField(default=True, verbose_name="¿Es un borrador?") is_draft = models.BooleanField(default=True, verbose_name="¿Es un borrador?")

View File

@ -1,4 +1,4 @@
<form> <form class="link">
{# Primary data #} {# Primary data #}
<input type="hidden" name="action" value="{{ action }}"> <input type="hidden" name="action" value="{{ action }}">
<input type="hidden" name="value" value="{{ value }}"> <input type="hidden" name="value" value="{{ value }}">
@ -7,5 +7,5 @@
<input type="hidden" name="page" value="{{ page }}"> <input type="hidden" name="page" value="{{ page }}">
{% endif %} {% endif %}
{# Button #} {# Button #}
<button type="button" hx-ws="send" hx-trigger="click">{{ text }}</button> <button class="link__button" type="button" hx-ws="send" hx-trigger="click">{{ text }}</button>
</form> </form>

View File

@ -9,12 +9,12 @@
{{ profile.full_name }} {{ profile.full_name }}
</h2> </h2>
<p> <p>
<img src="{{ profile.avatar.url }}" alt="{{ profile.full_name }}"> {# <img src="{{ profile.avatar.url }}" alt="{{ profile.full_name }}"> #}
</p> </p>
</header> </header>
<h3>Talks</h3> <h3>Talks</h3>
<ul> <ul>
{% for talk in profile.talk_profile_set.all %} {% for talk in profile.talkspeaker.all %}
<li> <li>
{{ talk.title }} {{ talk.title }}
</li> </li>

View File

@ -44,12 +44,11 @@ def page_profiles():
return render_to_string( return render_to_string(
"pages/profiles.html", "pages/profiles.html",
{ {
"profiles": Profile.objects.order_by("full_name"), "profiles": Profile.objects.filter(talkspeaker__isnull=False).order_by("full_name").distinct().all(),
}, },
) )
def page_about(): def page_about():
return render_to_string("pages/about.html", {}) return render_to_string("pages/about.html", {})

View File

@ -17,7 +17,7 @@ def run():
my_talk = Talk( my_talk = Talk(
title=title, title=title,
category=Category.objects.order_by("?")[0], category=Category.objects.order_by("?")[0],
author=Profile.objects.order_by("?")[0], speaker=Profile.objects.order_by("?")[0],
is_draft=False, is_draft=False,
content=fake.paragraph(nb_sentences=randint(20, 100)), content=fake.paragraph(nb_sentences=randint(20, 100)),
) )